public String test() {
/*
* ServletActionContext 可以获取到当前Action对象所需要的一切Servlet API相关的对象。
*/
HttpServletRequest request = ServletActionContext.getRequest();
HttpSession session = ServletActionContext.getRequest().getSession();
HttpServletResponse response = ServletActionContext.getResponse();
ServletContext context = ServletActionContext.getServletContext();
//......
return "success";
}
package com.qbz.struts2_03_03;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
import org.apache.struts2.util.ServletContextAware;
/*
* 通过实现ServletXXXAware 接口的方式可以由Struts2 注入需要的Servlet相关的对象
*
* ServletRequestAware:注入HttpServletRequest 对象
* ServletContextAware:注入ServletContext 对象
* ServletResponseAware:注入HttpServletResponse 对象
*
*/
public class ServletXXXAwareTest implements ServletContextAware,ServletRequestAware,ServletResponseAware{
private HttpServletRequest request ;
private HttpSession session = request.getSession();
private HttpServletResponse response ;
private ServletContext context ;
public String test(){
//......
return "success";
}
@Override
public void setServletResponse(HttpServletResponse response) {
this.response = response;
}
@Override
public void setServletRequest(HttpServletRequest request) {
this.request = request;
}
@Override
public void setServletContext(ServletContext context) {
this.context = context;
}
}