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);
理解web.xml中context-param的使用及获取方式

本文详细解析了web.xml中context-param参数的配置及其在Action中的获取方法,通过实例代码展示了如何利用ServletActionContext实现对初始化参数的访问。
2664

被折叠的 条评论
为什么被折叠?



