2010-10-28
action 里访问request、session和application对象
两种方式:解耦式和耦合式
解耦式:
方法一:
使用com.opensymphony.xwork2.ActionCotext类
public Object get(Object key)
Map request=(Map)get("request");
public Map getSession();
public Map getApplication();
方法二:
使用org.apache.struts2.interceptor.ApplicationAware;
org.apache.struts2.interceptor.RequestAware;
org.apache.struts2.interceptor.SessionAware;
的接口,让struts自动注入Map对象的reque、session、application。
耦合式:
方法一:
使用org.apache.struts2.ServletActionContext类
public static HttpServletRequest getRequest();
session可以通过request获得: HttpSession session=request.getSession();
public static ServletContext getServletContext();
public static HttpServletResponse getResponse();
方法二:
通过org.apache.struts2.ActionContext类的get()方法获得:
ActionContext.getContext().get(ServletActionContext.HTTP_REQUEST)可以获得request;
ServletActionContext.SERVLET_CONTEXT可以获得application;
ServletActionContext.HTTP_RESPONSE可以湖的response;
方法三:
通过org.apache.struts2.interceptor.ServletRequestAware;
org.apache.struts2.interceptor.ServletContextAware;
org.apache.struts2.interceptor.ServletResponseAware;的接口,
让struts自动注入request、application和response对象