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

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 ;  

    }  

}  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  struts2.0