Struts2 include(包含)多個配置檔

Struts 2自帶有“包含檔”功能,包含多個Struts配置檔合併為一個單元。

單個Struts配置檔

讓我們來看看一個糟糕的 Struts 2 配置示例。

struts.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>

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

<package name="audit" namespace="/audit" extends="struts-default">
	<action name="WelcomeAudit">
		<result>pages/welcome_audit.jsp</result>
	</action>
</package>

<package name="user" namespace="/user" extends="struts-default">
	<action name="WelcomeUser">
		<result>pages/welcome_user.jsp</result>
	</action>
</package>

</struts> 

在上面的Struts配置檔中,組織所有“用戶”和“審核”配置設置在一個檔中,這不是建議的,必須回避。應該打破這種形式,而將struts.xml檔分成更小的模組相關的部分。

多個Struts配置檔

在Struts2,應該給每個模組一個Struts配置檔。在這種情況下,可以創建三個檔:
  1. audit-struts.xml – 將所有審計模組設置在這裏。
  2. user-struts.xml – 將所有用戶模組設置在這裏。
  3. struts.xml – 默認設置,包含 struts-audit.xml 和 Struts-user.xml 兩個檔。

struts-audit.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>

<package name="audit" namespace="/audit" extends="struts-default">
	<action name="WelcomeAudit">
		<result>pages/welcome_audit.jsp</result>
	</action>
</package>

</struts>

struts-user.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>

<package name="user" namespace="/user" extends="struts-default">
	<action name="WelcomeUser">
		<result>pages/welcome_user.jsp</result>
	</action>
</package>

</struts>

struts.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>

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

<include file="conf/user-struts.xml"></include>
<include file="conf/audit-struts.xml"></include>

</struts>

現在檔夾結構看起來如下:


上一篇: Struts2 @ResultPath注釋示例 下一篇: Struts2命名空間配置和解釋