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

本文详细介绍了在Struts2框架中如何配置各种常量,包括但不限于支持的请求后缀、默认编码集、文件上传大小限制等。此外,还讨论了如何在不同的配置文件中设置这些常量及其生效顺序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  本文详细讲解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?有问题请留言!










本文转自 小夜的传说 51CTO博客,原文链接:http://blog.51cto.com/1936625305/1440312,如需转载请自行联系原作者
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值