Struts2 action中获取web.xml中的context-param以及获取request, response对象的方法

web.xml中的context-param参数:
<context-param>
 <param-name>contextConfigLocation</param-name>
 <param-value>classpath*:applicationContext.xml</param-value>
</context-param>

在Action中获取context-param的方法:
public String index(){  
    System.out.println(ServletActionContext.getServletContext().getInitParameter("contextConfigLocation"));
    return SUCCESS;
}

ServletActionContext.getServletContext()源码:

public static ServletContext getServletContext() {
        return (ServletContext) ActionContext.getContext().get(SERVLET_CONTEXT);
}
找到常量SERVLET_CONTEXT:

/**
  * Constant for the {@link javax.servlet.ServletContext servlet context} object.
*/
public static final String SERVLET_CONTEXT = "com.opensymphony.xwork2.dispatcher.ServletContext";

发现ServletActionContext.getServletContext()其实质就是javax.servlet.ServletContext servlet context.

 

由此我们可以知道获取request 和 response对象的方法:
HttpServletRequest request = (HttpServletRequest)ActionContext.getContext().get(ServletActionContext.HTTP_REQUEST);

HttpServletResponse response = (HttpServletResponse)ActionContext.getContext().get(ServletActionContext.HTTP_RESPONSE);

 

你可能感兴趣的:(response)