struts2 在 Action 或 Interceptor 中获取 web.xml 中配置的 <context-param> 参数 (这是我的第一篇博文,哈哈。)
最近为了改一个问题,想加一个控制开关,就在web.xml 中配置了一个
1、在 web.xml 中添加配置项:
<context-param> <param-name>testparam-name> <param-value>trueparam-value>
context-param>
2、获取配置参数值的代码:
1 //方式一:
2 Object object = ActionContext.getContext().getApplication().get("test");
3 if(null != object && Boolean.valueOf(object.toString()))
4 {
5 System.out.println("logging...");
6 }
7
8 //方式二: Spring 的listener 就是从ServletContext中获取的 getInitParameter
9 String parameter = ServletActionContext.getServletContext().getInitParameter("test");
10 if(Boolean.valueOf(parameter))
11 {
12 System.out.println("duide");
13 //do sth...
14 }
个人觉得 第二种方式 更方便些。
3、闲话
在Servlet 中也可以通过 HTTPRequest 来获取 ServletContext,进而获取 application 级别的配置项: