Struts 2的配置文件

当Struts 2创建系统的Action代理时,需要使用Struts 2的配置文件。

Struts 2的配置文件有两份:

— 配置Action的struts.xml文件。

— 配置Struts 2全局属性的struts.properties文件。

struts.xml文件内定义了Struts 2的系列Action,定义Action时,指定该Action的实现类,并定义该Action处理结果与视图资源之间的映射关系。

下面是struts.xml配置文件的示例:[code]

<!-- Struts 2的Action都必须配置在package里 -->

<package name="default" extends="struts-default">

	<!-- 定义一个Logon的Action,实现类为lee.Logon -->

	<action name="Logon" class="lee.Logon">

		<!-- 配置Action返回input时转入/pages/Logon.jsp页面 -->

		<result name="input">/pages/Logon.jsp</result>

		<!-- 配置Action返回cancel时重定向到Welcome的Action-->

		<result name="cancel" type="redirect-action">Welcome</result>

		<!-- 配置Action返回success时重定向到MainMenu的Action -->

		<result type="redirect-action">MainMenu</result>

		<!-- 配置Action返回expired时进入ChangePassword的Action链 -->

		<result name="expired" type="chain">ChangePassword</result>

	</action>

	<!-- 定义Logoff的Action,实现类为lee.Logoff -->

	<action name="Logoff" class=" lee.Logoff">

		<!-- 配置Action返回success时重定向到MainMenu的Action -->

		<result type="redirect-action">Welcome</result>

	</action>

</package>

[/code]在上面的struts.xml文件中,定义了两个Action。定义Action时,不仅定义了Action的实现类,而且的定义Action的处理结果时,指定了多个result,result元素指定execute方法返回值和视图资源之间的映射关系。对于如下配置片段: <result name="cancel" type="redirect-action">Welcome</result>表示当execute方法返回cancel的字符串时,跳转到Welcome的Action。定义result元素时,可以指定两个属性:type和name。其中name指定了execute方法返回的字符串,而type指定转向的资源类型,此处转向的资源可以是JSP,也可以是FreeMarker等,甚至是另一个Action——这也是Struts 2可以支持多种视图技术的原因。

除此之外,Struts 2还有一个配置Struts 2全局属性的Properties文件:struts.properties。该文件的示例如下:

#指定Struts 2处于开发状态struts.devMode = false//指定当Struts 2配置文件改变后,Web框架是否重新加载Struts 2配置文件struts.configuration.xml.reload=true正如上面见到的,struts.properties文件的形式是系列的key、value对,它指定了Struts 2应用的全局属性。