本文详细讲解web开发中使用Struts2时constant的常量配置问题
如下,constant添加位置
1
2
3
4
5
6
7
8
9
10
11
12
|
<?xml version=
"1.0"
encoding=
"UTF-8"
?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd"
>
<struts>
<constant name=
"struts.action.extension"
value=
"do,action,ims"
/>
<
package
name=
""
namespce=
""
extends
=
""
>
</
package
>
</struts>
|
ok?
/****************************************************************/
在开发中我们,一般action的请求struts2都会自动默认加上后缀.action,但是有些项目的时候,我们需要的是其他后缀名
因此可以通过常量来定义,OK;如下:
<constant name="struts.action.extension" value="do,action,ims"/>
因此,在这里就给大家简介一下,这些常量一般会在哪里配置,
struts.xml
struts-default.xml
struts-plugin.xml
struts.xml
struts.properties
web.xml
注意,如果多个文件都配置了常量,后面的会覆盖前面的,因此,我们通常的配置时在struts.xml中配置。d当然也有配置在web.xml里面这个也是常见的,如下:
<filter-mapping>
<filter-name>SignOnFilter</filter-name>
<url-pattern>*.imus</url-pattern>
</filter-mapping>
那么如果你想在constant中启用多个后缀名,只需要用,分割开来,就ok了。
/****************************************************************/
下面是struts2中其他几个常量的使用
struts2指定默认编码集
<constant name="struts.i18n.encoding" value="UTF-8"/>
Toomcat接收中文时默认是以8859接收的
为什么需要这个配置呢?因为HttpServletRequest的setCharacterEncoding方法和freemarker、valocity的输出
/****************************************************************/
改变常量后不许重启服务器
<constant name="struts.configuration.xml.reload" value="true"/>
系统默认为false 这个我们通常是在开发环境中来使用,这样我们修改完配置文件之后,就不需要重启服务器,在应用环境中设为false
/****************************************************************/
设置浏览器是否缓存静态内容,默认为TRUE 开发阶段最好关闭,以免导致更改之后看不到效果
<constant name="struts.server.static.browserCache" valur="false"/>
因为应用环境牵涉到系统速度的问题,所以我们一般设为true,这样可以提高系统的加载速度
/****************************************************************/
默认的视图主题
<constant name="struts.ui.theme" value="simple"/>
为什么这样设置呢?因为struts2一些标签除了会产生本身需要的html代码之外,还可能产生一些系统本身不需要的乱七八糟的html代码,会影响到我们的界面,所以我们经常如此设置
/****************************************************************/
与spring集成时,指定spring负责action对象的创建
<struts name="struts.objectFactory" value="spring"/>
不加这个常量配置,我们无法集成struts2和spring,意思就是说action创建交由spring工厂创建
/****************************************************************/
上传文件大小限制
<struts name="struts.multipart.maxSize" value="10701096"/>
这个是总文件大小,不是单个文件大小
/****************************************************************/
struts2支持动态方法调用
<constant name="struts.enable.DynamicMethodInvocation" value="true" />
/****************************************************************/
OK?有问题请留言!