struts2 访问或添加request等属性

来源:互联网 发布:上海 网络信息安全员证 编辑:程序博客网 时间:2024/05/21 10:55

struts2不能直接访问到servletAPI,但是它对其进行了封装,下面是action或jsp访问的代码

[java] view plaincopyprint?
  1. public String scope() throws Exception{  
  2.  ActionContext ctx=ActionContext.getContext();  
  3.  ctx.getApplication().put("app","应用范围");//往servletContext放入app  
  4.  ctx.getSession().put("ses","session范围");往servletSession放入Session范围  
  5.  ctx.put("req","request范围");//往request放入  
  6.  return "scope";  
  7. }  
  8.   
  9.    
  10.   
  11.    
  12.   
  13. JSP:  
  14. <body>  
  15. ${applicationScope.app}<br/>  
  16. ${sessionScope.ses}<br/>  
  17. ${requestScope.req}<br/>  
  18. </body>  
  

如何获取作用域对象?
  方法一:通过ServletActionContext类直接获取

[java] view plaincopyprint?
  1. public String rsa() throws Exception{  
  2.   HttpServletRequest request=ServletActionContext.getRequest();  
  3.   ServletContext servletContext=ServletActionContext.getServletContext();  
  4.   request.getSession();  
  5.   HttpServletResponse response=ServletActionContext.getRequest();  
  6.   return "scope";  
  7.  }  
  

 方法二:实现指定接口,由struts2框架运行时注入:
  

[java] view plaincopyprint?
  1. public class HelloWorldAction implements ServletRequestAware,ServletResponseAware,  
  2.    ServletContextAware{  
  3.    private HttpServletRequest request;  
  4.    private HttpServletResponse response;  
  5.    private HttpServletContext context;  
  6.      
  7.    public void setServletRequest(HttpServletRequest req){  
  8.     this.request=req  
  9.    }  
  10.    public void setServletResponse(HttpServletResponse res){  
  11.     this.request=res  
  12.    }  
  13.    public void setServletContext(HttpServletContext con){  
  14.     this.request=con  
  15.    }  
  16.   } 
0 0
原创粉丝点击