Struts2访问Servlet API的几种方式
struts2提供了三种方式访问servlet API:大致分为两类
1. ActionContext:
public static ActionContext getContext() :获得当前Action的ActionContext实例。
public Object get(Object key) :此方法类似于调用HttpServletRequest的getAttribute(String name)方法。
public void put(Object key, Object value) :此方法类似于调用HttpServletRequest 的setAttribute(String name, Object o)。
public Map getParameters() :获取所有的请求参数。类似于调用HttpServletRequest对象的getParameterMap() 方法。
public Map getSession() :返回一个Map对象,该Map对象模拟了HttpSession实例。
public void setSession(Map session) : 直接传入一个Map实例,将该Map实例里的key-value对转换成session的属性名-属性值对。
public Map getApplication() :返回一个Map对象,该对象模拟了该应用的ServletContext实例。
public void setApplication(Map application) :直接传入一个Map实例,将该Map实例里的key-value对转换成application的属性名-属性值对。
eg.1.application:
eg.2.session:
eg.3.request:
eg.4.获取对应请求参数的Map:
2. ServletActionContext : Action只要继承自该类,就可以直接访问Servlet API
3. 实现***Aware或servlet***Aware接口:其中***代表请求域
ApplicationAware,SessionAware,RequestAware,ParameterAware
Action speaks louder than words!