Struts2-Action-7-系列问题(Action中的web元素访问)
2017-04-18 17:38
381 查看
10.action中访问web元素(access web elements)
取得Map类型request,session,application,真实类型HttpServletRequest,HttpSession,ServletContex的引用
1.前三者:依赖于容器( map类型)
2.前三者:IOC // 一般只用这种( map类型)
3.后三者:依赖于容器(真实类型)
4.后三者:IOC(真实类型)
第一种:
“`
public class LoginAction extends ActionSupport{
private Map request;
private Map session;
private Map application;
}
“`
第二种(常用):
第三种(很少用):
第四种(不常用):
这四种的返回JSP页面是统一的:
取得Map类型request,session,application,真实类型HttpServletRequest,HttpSession,ServletContex的引用
1.前三者:依赖于容器( map类型)
2.前三者:IOC // 一般只用这种( map类型)
3.后三者:依赖于容器(真实类型)
4.后三者:IOC(真实类型)
第一种:
“`
public class LoginAction extends ActionSupport{
private Map request;
private Map session;
private Map application;
public LoginAction(){ request = (Map) ActionContext.getContext().get("request"); session = ActionContext.getContext().getSession(); application = ActionContext.getContext().getApplication(); System.out.println("LoginAction"); } public String execute(){ request.put("r1","r1"); session.put("s1", "s1"); application.put("a1","a1"); return SUCCESS; }
}
“`
第二种(常用):
public class LoginAction2 extends ActionSupport implements RequestAware,SessionAware,ApplicationAware { private Map<String, java.lang.Object> request; private Map<String,java.lang.Object> session; private Map<String,java.lang.Object> application; // DI IOC public String execute(){ request.put("r1", "r1"); session.put("s1", "s1"); application.put("a1", "a1");// 一般不用 return SUCCESS; } public void setRequest(Map<String, java.lang.Object> map) { this.request=map; } public void setApplication(Map<String, java.lang.Object> map) { this.session=map; } public void setSession(Map<String, java.lang.Object> map) { this.application=map; } }
第三种(很少用):
// 可以忘记 public class LoginAction3 extends ActionSupport{ private HttpServletRequest request; private HttpSession session; private ServletContext application; public LoginAction3(){ request = ServletActionContext.getRequest(); session = request.getSession(); application = session.getServletContext(); System.out.println("LoginAction"); } public String execute(){ request.setAttribute("r1","r1"); session.setAttribute("s1", "s1"); application.setAttribute("a1","a1"); return SUCCESS; } }
第四种(不常用):
// IOC public class LoginAction4 extends ActionSupport implements ServletRequestAware{ private HttpServletRequest request; private HttpSession session; private ServletContext application; public String execute(){ request.setAttribute("r1","r1"); session.setAttribute("s1", "s1"); application.setAttribute("a1","a1"); return SUCCESS; } public void setServletRequest(HttpServletRequest request) { this.request = request; this.session = request.getSession(); this.application = session.getServletContext(); } }
这四种的返回JSP页面是统一的:
<%@taglib prefix="s" uri="/struts-tags" %> <html> <body> <h2>login.jsp</h2> <s:property value="#request.r1"></s:property> | <%=request.getAttribute("r1")%><br /> <s:property value="#session.s1"></s:property> | <%=session.getAttribute("s1")%><br /> <s:property value="#application.a1"></s:property> | <%=application.getAttribute("a1")%><br /> <s:debug></s:debug> </body> </html>
相关文章推荐
- STRUTS2 ACTION 访问WEB元素的四种方式
- Struts2 访问Action和Jsp页面出现的路径问题解决方案之 ---- 为jsp、图片、js、css等获取Web工程的绝对路径的方法
- Struts2 Action访问web元素的四种方式
- Struts2之web元素访问与模板包含与默认Action使用
- Struts2_学习笔记(五)----访问Web元素、include、默认Action、Action总结
- STRUTS2 ACTION 访问WEB元素的四种方式
- 四种struts2访问web元素的方式
- Struts2访问web元素(包括:request,session,application和HttpServletRequest,HttpServletSession, HttpServletContext)的4种方法
- Struts2_访问Web元素
- struts2_大纲02_访问Web页面元素
- Struts2中访问Web元素的3中方法
- struts2之Action获取请求参数与web元素(四)
- Struts2访问Web元素
- struts2 ---Action访问Servlet API问题
- struts2访问web元素
- Struts2----访问Web元素
- Struts2访问Web元素
- 4种访问web元素的action
- 在Struts2中访问Web页面元素request、response、session、application的四种方法
- Struts2访问 web 元素