Struts2如何获取Request,response,ServletContext

   一直想写点靠谱的技术类文章,但是鉴于自己的水平和自信心问题,一直不敢写。
昨天在写代码的时候遇到如何在Struts2中获取Request和Response的问题,觉得这是个可以写的内容,就来献献丑,水平有限欢迎大家指正。交流才能进步嘛!
  虽然Struts2可以自己获取Request的Parameter内容,但是不能获取某些我们想要的内容,例如Attribute里的对象。这就是获取Request的意义。
在Action中获取

通过ServletActionContext获取
import org.apache.struts2.ServletActionContext;

HttpServletRequest request=ServletActionContext.getRequest();
HttpServletResponse response=ServletActionContext.getResponse();
ServletContext context=ServletActionContext.getServletContext();


通过实现Aware接口(IoC)
import org.apache.struts2.intercepter.ServleRequestAware;
import org.apache.struts2.intercepter.ServletResponseAware;
import org.apache.struts2.intercepter.ServletContextAware;

public class ServletAwareAction extends ActionSupport implements ServletRequstAware,ServletResponse,ServletContextAware{
    private ServletContext context;
    private HttpServletRequest request;
    private HttpServletResponse response;

    public void setServletContext(ServletContext context){
        this.context=context;
    }
    public void setServletRequest(ServletRequest request){
        this.request=request;
    }
    public void setServletResponse(ServletResponse response){
        this.response=response;
    }
}


在Struts2中jsp获取Request,Response,ServletContext还可以使用OGNL表达式,这个我就不写了,有兴趣的童鞋自行google吧!
欢迎大家的指正哦

你可能感兴趣的:(java,struts,IOC)