上一章节介绍了struts2的核心配置文件的标签,本章节主要介绍struts2的常量配置文件、常量的修改方式、常用常量以及常量设置进阶——动态方法调用等;



Struts2的常量配置


1、struts2的常量配置

struts2的常量即是指对于系统运行时的辅助性的设置,比如字符集的设定、action类的后缀名等,具体情况请看下面的笔记;

1.1、struts2的常量配置文件

struts2的默认配置文件(default.properties)都在如下图所示的文件中:
Struts2的常量配置_struts2
如果想要修改常量而又不知道这个常量的配置信息就可以进到这个文件中进行查找了,这个文件里面的最多的不是常量配置而是对常量配置的解释说明,因此不用担心看不懂的~其文件内容如下图所示:
Struts2的常量配置_struts2_02
可以看到这些配置都是以键值对的形式存在的~


1.2、修改常量配置文件的方式

修改常量的方式有三种,分别是:
【1】创建名为struts.properties文件的方式
【2】在核心配置文件中进行常量的配置
【3】在web.xml中及进行配置

下面就这三种修改方式进行详细介绍:

1.2.1 创建名为struts.properties文件的方式
在src文件夹下创建一个名为struts.properties的文件(此文件创建时的类型为file),此名称固定;
Struts2的常量配置_struts2_03
在创建的文件中粘贴在默认配置文件中复制的所要修改的配置键值对,例如我要修改编码的字符集,其默认的是UTF-8的,修改成GBK的,如下图:
Struts2的常量配置_struts2_04
在默认参数配置文件default.properties文件内部中找到编码字符集的键值对代码并复制;
然后将复制的代码粘贴到新创建的struts.properties文件中并修改其配置的值,如下所示;
Struts2的常量配置_struts2_05
1.2.2、在核心配置文件中进行常量的配置
这种方式是直接在核心配置文件中进行配置常量,其方法如下:
首先,仍然是先从default.properties文件内部找到所要修改的配置常量,然后在struts.xml的标签内创建一个名为d的标签,这个标签中有两个属性,一个是name,另一个是value,name的属性值是所要修改的配置的名称,value的属性值是修改成哪个配置值,其具体情况演示如下:

<struts>
   <constant name="struts.i18n.encoding" value="UTF-8"></constant>
   <package name="" namespace="" extends="struts-">
	   <action name="" class="" method="">
		   <result name="">/</result>
	   </action>
   </package>
</struts>

Struts2的常量配置_struts2_06
注意标签所放的位置,常量设置要放在最上边~

1.2.3、在web.xml中配置struts2常量
最后一种方法是在web.xml文件中进行修改常量配置,其修改方式如下图所示:
Struts2的常量配置_struts2_07
在web.xml中配置标签,此标签中有、这两个标签,这两个标签中分别写入所要修改的属性名以及属性值,如上图中所示;

1.3、常量修改方式总结

平时最常用的是方法二(在核心配置文件中进行配置),另外,先配置的先加载,同一个属性配置两次,后配置的覆盖之前配置的(在同一文件内的);


1.4、常用的常量配置

Struts2框架中的很多常量在开发时并不是都经常需要修改的,只有个别的才需要单独配置,接下来就是对这部分经常使用到的常量进行介绍;

常量名称Name值value值
国际编码设置struts.i18n.encodingUTF-8/GBK…设置国际化编码,这个具体是的设置要看系统开发的需求,其默认情况下是UTF-8,配置这个常量能解决post提交乱码的问题
action后缀名设置struts.action.extensionAction,, /…一般是后边两个英文的逗号代表后缀名可为空,这个值些什么都可以,比如用sss、ccc等代替,但是一旦这样在浏览器中的访问路径必须要在action类名的后边加上自己设置的后缀名 (pass:由于博客文章编辑设置原因,action后的两个逗号用的是中文代替,复制时请注意~)
开发者模式开关struts.devModetrue/falseTrue:开启开发者模式,在这种模式下核心配置文件修改后不需要系统重启就可生效(热加载核心配置文件),而且可以在编程时将更多的错误信息输出,方便开发时的调试;开发完成后最好将此配置设置成false,关闭此功能,因为此配置会消耗一些资源;
动态调用常量开关struts.enable.DynamicMethodInvocationtrue/false此设置是配合动态调用方法一来使用的;

这些配置信息在struts2的默认常量配置文件default.properties中都能找到,而且上面有注释;
具体相关配置代码如下所示:
Struts2的常量配置_struts2_08


1.5、常量加载顺序

通过上面struts2定义常量的方式可以看的出来,常量的配置是可以在多个文件中配置的,sturts2框架会按以下的文件顺序进行搜索加载:


pass:下一章节学习struts2中动态方法调用~

《本章完》