在Struts2框架中使用Servlet的API

Posted wyhluckydog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Struts2框架中使用Servlet的API相关的知识,希望对你有一定的参考价值。

1. 在Action类中也可以获取到Servlet一些常用的API
    * 需求:提供JSP的表单页面的数据,在Action中使用Servlet的API接收到,然后保存到三个域对象中,最后再显示到JSP的页面上。
        * 提供JSP注册的页面,演示下面这三种方式
            <h3>注册页面</h3>
            <form action="${ pageContext.request.contextPath }/xxx.action" method="post">
                姓名:<input type="text" name="username" /><br/>
                密码:<input type="password" name="password" /><br/>
                <input type="submit" value="注册" />
            </form>

2. 完全解耦合的方式(完全不需要Servlet中的API)
    * 如果使用该种方式,Struts2框架中提供了一个类,ActionContext类,该类中提供一些方法,通过方法获取Servlet的API
    * 一些常用的方法如下
        * static ActionContext getContext()                                         -- 获取ActionContext对象实例
    (ActionContext是上下文,也就是明星和经纪人的关系,action相当于明星,什么都不用准备,而actionContext就相当于经纪人(上下文),经纪人去拿action需要的东西。) * java.util.Map<java.lang.String,java.lang.Object> getParameters() -- 获取请求参数,相当于request.getParameterMap(); * java.util.Map<java.lang.String,java.lang.Object> getSession() -- 获取的代表session域的Map集合,就相当于操作session域。 * java.util.Map<java.lang.String,java.lang.Object> getApplication() -- 获取代表application域的Map集合 * void put(java.lang.String key, java.lang.Object value) -- 注意:向request域中存入值。 3. 使用原生Servlet的API的方式 * Struts2框架提供了一个类,ServletActionContext,该类中提供了一些静态的方法 * 具体的方法如下 * getPageContext() * getRequest() * getResponse() * getServletContext()

以上是关于在Struts2框架中使用Servlet的API的主要内容,如果未能解决你的问题,请参考以下文章

Struts的学习

Struts中API简述

7.Struts2框架封装数据

Struts2系列:与Servlet API解耦(Servlet相关对象访问)

Struts2 第五讲 -- Struts2与Servlet的API解耦

struts2 servlet api 访问方式