除了action的配置,struts还有其他的一些配置,比如编码方式。
这些配置用键值对来表示,键是固定的,是常量,所以也叫做常量配置。
常量配置有5种方式,Struts会按以下顺序依次搜索加载常量(配置):
- struts-default.xml 此文件在struts-core.jar的根目录下
- struts-plugin.xml 此文件在struts的插件jar包中,一个插件jar包中有一个struts-plugin.xml,用于配置该插件
- struts.xml 位于src目录下,主要用于配置action
- struts.properties 这是struts2的默认配置文件,在struts2-core.jar的org.apache.strut2的根目录下。
- web.xml 整个WebApp的配置文件
如果在多个配置文件中配置同一常量,后加载的会覆盖之前的。
一般我们在struts.xml中配置常量。
<struts> <constant name="" value=""></constant> <constant name="" value=""></constant> <package name="action" namespace="/action" extends="struts-default"> </package> </struts>
一个<constant>配置一个常量。
可参考默认配置文件struts.properties中的配置。
默认配置文件struts.properties的常用配置
1、struts.i18n.encoding=UTF-8 国际化、解决中文乱码
2、struts.action.extension=action,, 指定action的后缀。第一个是.action,第二个是空,即不带后缀。
比如说有这样一个action:
<package name="action" namespace="/" extends="struts-default"> <action name="LoginAction" class="action.LoginAction"> </action> </package>
引用时可以带后缀.action,也可以不带后缀:
<form action="LoginAction.action"></form> <form action="LoginAction"></form>
3、struts.serve.static.browserCache=true 是否使用浏览器缓存
4、struts.devMode = false struts是否以开发模式运行
开发模式下对开发者更友好,主要有2个方面:
- 修改了国际化的配置、struts.xml文件中的配置时,不需要重启就可生效,即热部署
- 会提供更详细、更具体的错误信息,方便开发者调试
热部署节约了时间,但会消耗更多的资源,因为IDE要时刻监听开发者是否修改了文件。