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 1或2开发人员只是将所有内容分组在一个Struts配置文件中。
实际上,许多人仍然不了解Struts的包含文件功能。
多个Struts配置文件
在Struts 2中,应始终为每个模块分配一个struts配置文件。 在这种情况下,您可以创建三个文件:
- struts-audit.xml –将所有审核模块设置放在此处。
- struts-user.xml –将所有用户模块设置放在此处。
- 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="user/struts-user.xml"></include>
<include file="audit/struts-audit.xml"></include>
</struts>
查看文件夹结构
参考
- http://www.mkyong.com/struts/struts-multiple-configuration-files-example/
- http://www.mkyong.com/struts2/struts-2-namespace-configuration-example-and-explanation/
翻译自: https://mkyong.com/struts2/struts-2-include-multiple-struts-configuration-files/