Struts2提供了一个ActionContext类,Struts2的Action可以通过该类来访问ServletAPI。下面是ActionContext类中包含的几个常用方法:
Object get(Object key ):该方法类似于HttpServletRequest的getAttribute(String name) 方法。
Map getApplication():返回一个Map对象,该对象模拟了该应用的ServletContext实例。
Static ActionContext getContext():静态方法,获取系统的ActionContxt对象。
Map getParameters():获取所有的请求参数,类似于HttpServletRequest对象的getParameterMap()方法。
Map getSession():返回一个map对象,该Map模拟了HttpSession实例。
Void setApplication(map Aapplication)直接传入一个Map实例,讲Map实例里的key=value对转换成application 的属性名,属性值。
Void setSession(Map Session)直接传入一个Map实例,讲该map实例的key-value转换成Session的属性名属性值。
Action直接访问ServletAPi
ServletContextAware :实现了该接口的Action可以直接访问web应用的ServletContext实例。
SerlvetRequestAware:实现了该接口的Action可以直接访问webDe HttpSerlvetRequest实例。
ServletResponseAware 实现了该接口的Action可以直接访问服务器的相应的HttpServletResponse对象。
如果实现了ServletResponseAware只需要实现之中的public void setServletResponse(HttpServletResponse response)方法即可,然后就可以使用httpServletResponse对象进行操作。
ServletRequestAware对象也是这样的。
为了直接访问Servlet API Struts2还提供了一个ServletActionContext,这个类包含了如下几个静态方法:
Static PageContext getPageContext():取得Web应用PageContext对象。
Static HttpServletRequest getRequest();
Static HttpServletResposne getResponse();
Static SevletContext getSevletContext();取得web应用的ServletContxt对象。