Struts2 include(包含)多个配置文件
精华
小牛编辑
128浏览
2023-03-14
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配置文件。在这种情况下,可以创建三个文件:
- audit-struts.xml – 将所有审计模块设置在这里。
- user-struts.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="conf/user-struts.xml"></include> <include file="conf/audit-struts.xml"></include> </struts>
现在文件夹结构看起来如下: