struts2中,在request/session/application中访问或添加属性
2013-11-12 17:43
387 查看
第一种:
public String scope() throws Exception{
ActionContext ctx = ActionContext.getContext();
ctx.getApplication().put("app", "应用范围");//往ServletContext里放入app
ctx.getSession().put("ses", "session范围");//往session里放入ses
ctx.put("req", "request范围");//往request里放入req
return "scope";
}
JSP:
<body>
${applicationScope.app} <br>
${sessionScope.ses}<br>
${requestScope.req}<br>
</body>
这种只能从action类中存入数据,并不能在类中获取jsp页面的参数值,而且 request/session/application 域中其他的方法都无法使用
第二种:通过ServletActionContext.类直接获取:
public String rsa() throws Exception{
HttpServletRequest request = ServletActionContext.getRequest();
ServletContext servletContext = ServletActionContext.getServletContext();
HttpSession session = request.getSession() ;
HttpServletResponse response = ServletActionContext.getResponse();
return "scope";
}
推荐这种!
第三种:实现指定接口,由struts框架运行时注入:
public class HelloWorldAction implements ServletRequestAware, ServletResponseAware, ServletContextAware{
private HttpServletRequest request;
private ServletContext servletContext;
private HttpServletResponse response;
public void setServletRequest(HttpServletRequest req) {
this.request=req;
}
public void setServletResponse(HttpServletResponse res) {
this.response=res;
}
public void setServletContext(ServletContext ser) {
this.servletContext=ser;
}
}
这种最不建议使用,struts2最大的特点就是低耦合,高内聚。这种实现使得自己编写的代码又和底层代码耦合在一起
public String scope() throws Exception{
ActionContext ctx = ActionContext.getContext();
ctx.getApplication().put("app", "应用范围");//往ServletContext里放入app
ctx.getSession().put("ses", "session范围");//往session里放入ses
ctx.put("req", "request范围");//往request里放入req
return "scope";
}
JSP:
<body>
${applicationScope.app} <br>
${sessionScope.ses}<br>
${requestScope.req}<br>
</body>
这种只能从action类中存入数据,并不能在类中获取jsp页面的参数值,而且 request/session/application 域中其他的方法都无法使用
第二种:通过ServletActionContext.类直接获取:
public String rsa() throws Exception{
HttpServletRequest request = ServletActionContext.getRequest();
ServletContext servletContext = ServletActionContext.getServletContext();
HttpSession session = request.getSession() ;
HttpServletResponse response = ServletActionContext.getResponse();
return "scope";
}
推荐这种!
第三种:实现指定接口,由struts框架运行时注入:
public class HelloWorldAction implements ServletRequestAware, ServletResponseAware, ServletContextAware{
private HttpServletRequest request;
private ServletContext servletContext;
private HttpServletResponse response;
public void setServletRequest(HttpServletRequest req) {
this.request=req;
}
public void setServletResponse(HttpServletResponse res) {
this.response=res;
}
public void setServletContext(ServletContext ser) {
this.servletContext=ser;
}
}
这种最不建议使用,struts2最大的特点就是低耦合,高内聚。这种实现使得自己编写的代码又和底层代码耦合在一起
相关文章推荐
- struts2 jquery 打造无限层次的树
- ajax交互Struts2的action(客户端/服务器端)
- struts2 spring整合fieldError问题
- Struts2的s:radio标签使用及用jquery添加change事件
- Struts2访问servlet分享
- Java(基于Struts2) 分页实现代码
- 从搭建Struts2 开发环境说起
- 关于国际化、OGNL表达式语言
- 在Struts2中如何将父类属性序列化为JSON格式的解决方法
- 在Struts2中的结果集类型
- 关于Struts2的类型转换详解
- 搭建EXTJS和STRUTS2框架(ext和struts2简单实例)
- 关于Struts2文件上传与自定义拦截器
- JavaWeb中struts2实现文件上传下载功能实例解析
- Struts2的学习笔记(2)
- Struts2的学习笔记(3)
- Struts2的学习笔记(4)
- iterator 标签的使用
- struts2注解配置注意事项
- 使用open flash chart制作报表