通过ActionContext间接访问Servlet API

        Struts2框架中的Action在设计时已经与Servlet API进行了分离,这使得Struts2的Action具有更加灵活和低耦合的特性,但是在实际应用中可能经常需要使用request,session等对象处理相应的业务逻辑,Struts2框架正是认识到了这一点,于是向用户提供了com.opensymphony.xwork2.ActionContext类,用户通过该类可以间接的访问到Servlet API.

        ActionContext是Action的上下文对象,Action在运行期间所用到的数据都保存在ActionContext中,列如:request和session中的参数信息。Struts2会根据每个执行HTTP请求的线程来创建对应的ActionContext,每个线程都会拥有一个ActionContext。用户可以使用ActionContext类的静态方法getContext()来获取当前线程的ActionContext对象。

ActionContext类中常用的方法:

类型名称 说明
static ActionContext getContext() 获取当前线程的ActionContext对象
Object get(String key) 通过参数名称获取ActionContext对象中保存的值
Map<String, Object> getApplication() 获取一个application级别的Map对象
Map<String, Object> getParameters() 获取一个包含所有HttpServletRequest中参数信息的Map对象
Map<String, Object> getSession() 获取一个包含HttpSession中参数信息的Map对象
void put(String key, Object value) 向AclicationContext对象中存入键值对数据
void setSession(Map<String, Object> session) 将Map集合中的数据保存到HttpSession作用域中
void setApplication(Map<String, Object> application) 将Map集合中的数据保存到Application作用域中

猜你喜欢

转载自blog.csdn.net/SQLplus111/article/details/92807212
今日推荐