主要是package不要
相同,相同会导致其中一个会被另外一个覆盖的情况,简单来说,就是一个可以访问的到,另外一个访问会找不到的情况发生
- struts.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd" >
<struts>
<include file="module2.xml"></include>
<include file="module1.xml"></include>
<!-- 开启开发模式 -->
<constant name="struts.devMode" value="true"></constant>
</struts>
比方说module2.xml和module1.xml里有两个相同的package,它们的name属性值是相同的,在struts.xml里先引入了module2.xml,后引入了module1.xml,访问module2.xml里的action是可以访问到的,而访问module1.xml里的action是不可以访问,会出现这样类似的错误信息如下:
正确的例子(package 中 name属性应是不一样的)如下:
- module1.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd" >
<struts>
<package name="module1" extends="struts-default" namespace="/first">
<action name="ok">
<result>/ok1.jsp</result>
</action>
</package>
</struts>
- module2.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd" >
<struts>
<package name="module2" extends="struts-default" namespace="/second">
<action name="ok">
<result>/ok2.jsp</result>
</action>
</package>
</struts>