您的位置:首页 > 编程语言 > Java开发

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;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: