struts2中的多个配置文件的配置和动态请求方法
在开发大型项目时,我们会配置很多Struts的配置文件。每个系统的Action也会很多。如果将所有的Action放在一个struts.xml
文件中,会导致该文件非常臃肿和难以阅读,也不便于后期维护。为了提高可读性,我们可以将一个struts.xml
文件分解成多个配置文件,并使用<include>
元素引用这些文件。
例如:
通过这种方式,我们就可以将所用的Struts Action按不同模块和功能进行分开,然后分别添加到主配置文件中。这样以后想维护就容易多了,并且代码看起来也很简洁。
如何启用动态方法取决于在Struts配置文件中的设置。如果设置为false
,则不能使用动态方法。例如,在请求的Action后面加上一个请求方法,如list!add.action
。如果设置为false
,此次请求将无效并返回404错误。反之,则可以正常处理。
动态方法有两种类型:
- 前缀方法:在Struts配置文件中,action的name属性中添加前缀。
- 通配符方法:在Struts配置文件中的action的name属性中添加
*
作为通配符。其中的{1}
表示通配符,也可以配置到其他地方。
例如:
<action name="user_*" class="com.example.UserAction">
<result>/user/{1}.jsp</result>
</action>
这里的下划线没有特殊要求,主要是为了区分请求路径。如果在method中没有配置任何方法,则系统默认执行execute
方法。