Struts2 在Action中获取request、session、servletContext的三种方法
2015-10-10 16:09
603 查看
首页message.jsp:
<body>
${requestScope.req }<br/>
${applicationScope.app }<br/>
${sessionScope.ses }<br/>
</body>
(1)使用ActionContext获取
public String sayHello(){
ActionContext cxt=ActionContext.getContext();
cxt.getApplication().put("app", "application范围");
cxt.getSession().put("ses", "session范围");
cxt.put("req", "request范围");
return "message";
}
(2)使用ServletActionContext获取
public String sayTwo(){
HttpServletRequest request=ServletActionContext.getRequest();
ServletContext cxt=ServletActionContext.getServletContext();
request.setAttribute("req", "request请求范围");
request.getSession().setAttribute("ses", "会话范围");
cxt.setAttribute("app", "应用程序范围");
return "message";
}
(3)通过继承ServletRequestAware,ServletContextAware 并实现set方法获取
public class HelloAction implements ServletRequestAware,ServletContextAware{
private HttpServletRequest request1;
private ServletContext context1;
public HelloAction(){}
public String sayThree(){
request1.setAttribute("req", "request请求范围111");
request1.getSession().setAttribute("ses", "会话范围111");
context1.setAttribute("app", "应用程序范围111");
return "message";
}
@Override
public void setServletRequest(HttpServletRequest arg0) {
request1=arg0;
}
@Override
public void setServletContext(ServletContext arg0) {
context1=arg0;
}
}
<body>
${requestScope.req }<br/>
${applicationScope.app }<br/>
${sessionScope.ses }<br/>
</body>
(1)使用ActionContext获取
public String sayHello(){
ActionContext cxt=ActionContext.getContext();
cxt.getApplication().put("app", "application范围");
cxt.getSession().put("ses", "session范围");
cxt.put("req", "request范围");
return "message";
}
(2)使用ServletActionContext获取
public String sayTwo(){
HttpServletRequest request=ServletActionContext.getRequest();
ServletContext cxt=ServletActionContext.getServletContext();
request.setAttribute("req", "request请求范围");
request.getSession().setAttribute("ses", "会话范围");
cxt.setAttribute("app", "应用程序范围");
return "message";
}
(3)通过继承ServletRequestAware,ServletContextAware 并实现set方法获取
public class HelloAction implements ServletRequestAware,ServletContextAware{
private HttpServletRequest request1;
private ServletContext context1;
public HelloAction(){}
public String sayThree(){
request1.setAttribute("req", "request请求范围111");
request1.getSession().setAttribute("ses", "会话范围111");
context1.setAttribute("app", "应用程序范围111");
return "message";
}
@Override
public void setServletRequest(HttpServletRequest arg0) {
request1=arg0;
}
@Override
public void setServletContext(ServletContext arg0) {
context1=arg0;
}
}
相关文章推荐
- win8配置JDK1.8环境变量
- Struts2 在Action中获取request、session、servletContext的三种方法
- java 集合框架按字符串长度排序
- jsp中与javaBean相关的标签
- JavaSE IO流 File文件操作基础知识
- Spring系列之AOP
- Java实现字符串中的连续数字的反转
- java中的堆和栈
- 获取spring maven 依赖包
- eclipse 阅读代码 快捷键
- Java中构造函数执行顺序的问题
- java 入门第一天 基本介绍 环境配置 小小测试(下)
- 非常好的Java反射例子
- SpringMVC 知识点整理
- springMVC教程中级(六)resultful与拦截器
- java 中判断字符串编码格式
- Java 静态内部类 static class
- java.lang.Enum
- Java对多线程~~~Fork/Join同步和异步帧
- Java编程规范