struts2如何获取Request-Session-ServletContext-Response
2015-12-11 17:13
676 查看
1. 访问和添加request/session/application属性
如果只是往request/session/application中设置属性,可以用下面的方式
Java代码
ActionContext ctx = ActionContext.getContext();
ctx.getApplication().put("app", "应用范围");//往ServletContext里放入app
ctx.getSession().put("ses", "session范围");//往session里放入ses
ctx.put("req", "request范围");//往request里放入req
ctx.put("names", Arrays.asList("老张", "老黎", "老方"));
jsp页面上获取方式
Java代码
${applicationScope.app}<br>
${sessionScope.ses}<br>
${requestScope.req}<br>
2. struts2中如何获取httpServletRequest/HttpSession/ServletContext/HttpServletResponse对象
方法一,通过ServletActionContext类获取:(推介使用)
Java代码
public String rsa() throws Exception{
HttpServletRequest request = ServletActionContext.getRequest();
ServletContext servletContext = ServletActionContext.getServletContext();
request.setAttribute("req", "请求范围属性");
request.getSession().setAttribute("ses", "会话范围属性");
servletContext.setAttribute("app", "应用范围属性");
HttpServletResponse response = ServletActionContext.getResponse();
return "message";
}
方法二,实现指定接口,由struts框架注入:
Java代码
import com.opensymphony.xwork2.ActionContext;
public class HelloWorldAction2 implements ServletContextAware,ServletRequestAware,ServletResponseAware{
private HttpServletRequest request ;
private HttpServletResponse response ;
private ServletContext servletContext ;
public void setServletContext(ServletContext context) {
//context对象不是应用程序传进去的,而是由struts框架自动注入的
this.servletContext = context ;
}
public void setServletRequest(HttpServletRequest request) {
this.request = request ;
}
public void setServletResponse(HttpServletResponse response) {
this.response = response ;
}
}
如果只是往request/session/application中设置属性,可以用下面的方式
Java代码
ActionContext ctx = ActionContext.getContext();
ctx.getApplication().put("app", "应用范围");//往ServletContext里放入app
ctx.getSession().put("ses", "session范围");//往session里放入ses
ctx.put("req", "request范围");//往request里放入req
ctx.put("names", Arrays.asList("老张", "老黎", "老方"));
jsp页面上获取方式
Java代码
${applicationScope.app}<br>
${sessionScope.ses}<br>
${requestScope.req}<br>
2. struts2中如何获取httpServletRequest/HttpSession/ServletContext/HttpServletResponse对象
方法一,通过ServletActionContext类获取:(推介使用)
Java代码
public String rsa() throws Exception{
HttpServletRequest request = ServletActionContext.getRequest();
ServletContext servletContext = ServletActionContext.getServletContext();
request.setAttribute("req", "请求范围属性");
request.getSession().setAttribute("ses", "会话范围属性");
servletContext.setAttribute("app", "应用范围属性");
HttpServletResponse response = ServletActionContext.getResponse();
return "message";
}
方法二,实现指定接口,由struts框架注入:
Java代码
import com.opensymphony.xwork2.ActionContext;
public class HelloWorldAction2 implements ServletContextAware,ServletRequestAware,ServletResponseAware{
private HttpServletRequest request ;
private HttpServletResponse response ;
private ServletContext servletContext ;
public void setServletContext(ServletContext context) {
//context对象不是应用程序传进去的,而是由struts框架自动注入的
this.servletContext = context ;
}
public void setServletRequest(HttpServletRequest request) {
this.request = request ;
}
public void setServletResponse(HttpServletResponse response) {
this.response = response ;
}
}
相关文章推荐
- Struts - 标签库
- struts1.0于struts2.0的比较
- Struts2中关于namespace的学习心得
- Struts2----自定义action的学习心得
- HTTP Status 404 - There is no Action mapped for namespace [/] and action name [login!welcome] associ
- struts2
- struts 学习笔记
- struts2.0拦截器(实现未登录的用户不能访问系统的页面)(转)
- Struts2+jQuery+JSON实现异步交互
- 软件开发疑惑解答
- ajax ssh 整合
- struts2登陆拦截器
- struts2框架原理
- web.xml
- web.xml
- struts2框架原理
- struts2登陆拦截器
- liferay中配置Struts2
- strust2--异常
- Struts2部署后抛出404 Tomcat work目录下均为空目录