详解struts.xml配置文件constant常量配置问题

来源:互联网 发布:苏联援助国民党 知乎 编辑:程序博客网 时间:2024/05/22 06:44


【Struts2】☆★之详解constant常量配置问题


本文详细讲解web开发中使用Struts2时constant的常量配置问题

如下,constant添加位置

<?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?有问题请留言!



0 0