struts2 获取 request、session、application 的四种方式
//获取 map 类型的 request、session、application
public class LoginAction1 extendsActionSupport { private Map request; private Map session; private Map application; publicLoginAction1() { request= (Map)ActionContext.getContext().get("request"); session= ActionContext.getContext().getSession(); application= ActionContext.getContext().getApplication(); } publicString execute() { request.put("r1","r1"); session.put("s1","s1"); application.put("a1","a1"); returnSUCCESS; } }
//采用接口方式获得 map 类型的 request、session、application
public class LoginAction2 extendsActionSupport implements RequestAware,SessionAware, ApplicationAware { private Map<String, Object> request; private Map<String, Object> session; private Map<String, Object> application; //DIdependency injection //IoCinverse of control publicString execute() { request.put("r1","r1"); session.put("s1","s1"); application.put("a1","a1"); returnSUCCESS; } @Override publicvoid setRequest(Map<String, Object> request) { this.request= request; } @Override publicvoid setSession(Map<String, Object> session) { this.session= session; } @Override publicvoid setApplication(Map<String, Object> application) { this.application= application; } }
//获取 Http 类型的 request、session、application
public class LoginAction3 extendsActionSupport { private HttpServletRequest request; private HttpSession session; private ServletContext application; publicLoginAction3() { request= ServletActionContext.getRequest(); session= request.getSession(); application= session.getServletContext(); } publicString execute() { request.setAttribute("r1","r1"); session.setAttribute("s1","s1"); application.setAttribute("a1","a1"); returnSUCCESS; } }
//采用接口方式获取 Http 类型的 request、session、application
public class LoginAction4 extendsActionSupport implements ServletRequestAware { private HttpServletRequest request; private HttpSession session; private ServletContext application; publicString execute() { request.setAttribute("r1","r1"); session.setAttribute("s1","s1"); application.setAttribute("a1","a1"); returnSUCCESS; } @Override publicvoid setServletRequest<a href="https://beatree.cn/tag/struts" title="查看更多关于 struts 的文章" target="_blank">struts</a>2.x<a href="https://beatree.cn/tag/struts" title="查看更多关于 struts 的文章" target="_blank">struts</a>(HttpServletRequest request) { this.request= request; this.session= request.getSession(); this.application= session.getServletContext(); } }