一.非Ioc方式

这种方式主要是利用了com.opensymphony.xwork2.ActionContext类以及org.apache.struts2.ServletActionContext类,具体的方法如下所示。

获得request对象:


1).HttpServletRequest request = ServletActionContext.getRequest ();
2).ActionContext ct= ActionContext.getContext();

       HttpServletRequest request=(HttpServletRequest)ct.get(ServletActionContext.HTTP_REQUEST);

获得response对象:
1).HttpServletResponse response= ServletActionContext.getResponse ();
2).ActionContext ct= ActionContext.getContext();
       HttpServletResponse response=(HttpServletResponse )ct.get(ServletActionContext.HTTP_RESPONSE);

 

二:IOC方式

Action在继承ActionSupport的同时还要实现ServletRequestAware和ServletResponseAware接口

 

[java] view plain copy
 
    1. package com.iterator.action;  
    2.   
    3. import javax.servlet.http.HttpServletRequest;  
    4. import javax.servlet.http.HttpServletResponse;  
    5.   
    6. import org.apache.struts2.interceptor.ServletRequestAware;  
    7. import org.apache.struts2.interceptor.ServletResponseAware;  
    8.   
    9. import com.opensymphony.xwork2.ActionSupport;  
    10.   
    11. public class Struts2GetServletRequestAction extends ActionSupport implements  
    12.         ServletRequestAware, ServletResponseAware {  
    13.   
    14.     private static final long serialVersionUID = 1L;  
    15.     private HttpServletRequest request;  
    16.     private HttpServletResponse response;  
    17.       
    18.     public void setServletRequest(HttpServletRequest request) {  
    19.         this.request=request;  
    20.     }  
    21.   
    22.     public void setServletResponse(HttpServletResponse response) {  
    23.         this.response=response;  
    24.     }  
    25.   
    26.     @Override  
    27.     public String execute() throws Exception {  
    28.         System.out.println("requestUsername=" + request.getParameter("username") + ",requestPassword=" + request.getParameter("password"));  
    29.         return SUCCESS;  
    30.     }  
    31. }  
posted on 2017-11-06 11:02  Yusco  阅读(276)  评论(0编辑  收藏  举报