struts2分模块进行配置xml注意的问题

主要是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>
发布了68 篇原创文章 · 获赞 12 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_29001539/article/details/104999340