一、使用 Aware攔截器
這種方法需要Action類(lèi)實(shí)現(xiàn)相應(yīng)的攔截器接口盅视。代碼如下
...
import org.apache.struts2.interceptor.RequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
...
public class AdminAction implements Action, RequestAware, ServletResponseAware{
private Map request;
private HttpServletResponse response;
@Override
public void setRequest(Map<String, Object> request) {
this.request = request;
}
@Override
public void setServletResponse(HttpServletResponse response) {
this.response = response;
}
...
}
二捐名、 使用ActionContext類(lèi),比較簡(jiǎn)單闹击。代碼如下
...
import com.opensymphony.xwork2.ActionContext;
...
public class MyAction implements Action {
private ActionContext atx = ActionContext.getContext();
private HttpServletRequest request = (HttpServletRequest) atx.get(ServletActionContext.HTTP_REQUEST);
private HttpServletResponse response = (HttpServletResponse) atx.get(ServletActionContext.HTTP_RESPONSE);
...
}
三镶蹋、使用servletactioncontext類(lèi),最簡(jiǎn)單的方式赏半。代碼如下
import org.apache.struts2.ServletActionContext;
...
public class MyAction implements Action {
private HttpServletRequest request = ServletActionContext.getRequest();
private HttpServletResponse response = ServletActionContext.getResponse();
...
}
最簡(jiǎn)單的就是最后一個(gè)贺归,根據(jù)需求自己選擇吧~~