Action中获得HttpServlet信息三种方式:
一、使用com.opensymphony.xwork2.ActionContext类
ActionContext.getContext().put(key, value);
ActionContext.getContext().get(key);
此方法只能获取Request对象,获取Reponse对象使用下面的方法。
二、使用org.apache.struts2.ServletActionContext类
ServletActionContext.getRequest().getSession().getAttribute(name);
ServletActionContext.getRequest().getSession().setAttribute(name, value);
ServletActionContext.getResponse().addCookie(arg0);
三、实现ServletRequestAware接口,实现setServletRequest方法,从而获得HttpServletRequest对象。
private HttpServletRequest request;
public void setServletRequest(HttpServletRequest arg0) {
this.request = arg0;
}
实现ServletResponseAware接口,实现setServletResponse方法,从而获得HttpServletResponse对象。
private HttpServletResponse response;
public void setServletResponse(HttpServletResponse arg0) {
this.response = arg0;
}