看过了StrutsPrepareAndExecuteFilter的源码,在项目开发中需要将自己开发的action在应用的启动之时就初始化action,一开始不知道如何做,只能想到的是再web.xml文件当中配置初始化代码,可是在哪个地方配呢?这时候不知道如何下手了,后来想到了使用init-param参数配置,可是配置此参数还需要在具体代码当中调用filterConfig.initParameter()方法来得到配置的参数,这样的话就不是应用启动的时候就初始化action了。之后看了网上的一些资料并且看了StrutsPrepareAndExecuteFilter的源码,就觉得可以在StrutsPrepareAndExecuteFilter的配置代码中使用init-param来配置初始化action,源代码中有关于此filter如何获得init-param并初始化的代码。具体内容看我的上一篇转载的博客。配置代码如下:
<filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> <init-param> <param-name>actionPackages</param-name> <param-value>com.xxx.action</param-value> </init-param> </filter><filter-mapping> <filter-name>struts2</filter-name> <url-pattern>*.do</url-pattern> <dispatcher>REQUEST</dispatcher> <dispatcher>FORWARD</dispatcher> </filter-mapping>这样就可以在应用启动时就可以使用action的环境了。