struts2如何获取Request-Session-ServletContext-Response

 1. 访问和添加request/session/application属性
   如果只是往request/session/application中设置属性,可以用下面的方式
   
Java代码 、
 
ActionContext ctx = ActionContext.getContext();   
  1. ctx.getApplication().put("app""应用范围");//往ServletContext里放入app   
  2. ctx.getSession().put("ses""session范围");//往session里放入ses   
  3. ctx.put("req""request范围");//往request里放入req   
  4. ctx.put("names", Arrays.asList("老张""老黎""老方"));   
  5.    
  jsp页面上获取方式
  
Java代码
 
${applicationScope.app}<br>   
  1.    ${sessionScope.ses}<br>   
  2.    ${requestScope.req}<br>  
2. struts2中如何获取httpServletRequest/HttpSession/ServletContext/HttpServletResponse对象
方法一,通过ServletActionContext类获取:(推介使用)
  
Java代码 
 
 public String rsa() throws Exception{   
  1.     HttpServletRequest request = ServletActionContext.getRequest();   
  2.     ServletContext servletContext = ServletActionContext.getServletContext();   
  3.     request.setAttribute("req""请求范围属性");   
  4.     request.getSession().setAttribute("ses""会话范围属性");   
  5.     servletContext.setAttribute("app""应用范围属性");   
  6.     HttpServletResponse response = ServletActionContext.getResponse();   
  7.     return "message";   
  8. }  
方法二,实现指定接口,由struts框架注入:
Java代码
import com.opensymphony.xwork2.ActionContext;   
  1. public class HelloWorldAction2 implements ServletContextAware,ServletRequestAware,ServletResponseAware{   
  2.     private HttpServletRequest request ;   
  3.     private HttpServletResponse response ;   
  4.     private ServletContext servletContext ;   
  5.     public void setServletContext(ServletContext context) {   
  6.     //context对象不是应用程序传进去的,而是由struts框架自动注入的   
  7.         this.servletContext = context ;   
  8.     }   
  9.     public void setServletRequest(HttpServletRequest request) {   
  10.         this.request = request ;   
  11.     }   
  12.     public void setServletResponse(HttpServletResponse response) {   
  13.         this.response = response ;   
  14.     }   
  15. }  

你可能感兴趣的:(struts2如何获取Request-Session-ServletContext-Response)