首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

Struts2配置文件include的有关问题

2012-06-21 
Struts2配置文件include的问题当我把Struts2的配置文件拆分成多个struts配置文件,include最多能包含1级??

Struts2配置文件include的问题
当我把Struts2的配置文件拆分成多个struts配置文件,include最多能包含1级??下一级的内容将不可见?

现有struts.xml,struts-a.xml,struts-b.xml三个配置文件。
其中struts.xml为系统的主配置文件,为struts2框架自动调用。

XML code
<!DOCTYPE struts PUBLIC          "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"          "http://struts.apache.org/dtds/struts-2.0.dtd"><struts>   <include file="../config/common/struts-a.xml" />   ....</struts>


struts-a.xml
XML code
<struts>   <include file="struts-b.xml" />   ....</struts>


struts-b.xml
XML code
<struts>   <package name="struts-abc" namespace="/public/common/test">      <action name="abc" class="abc">    <result name="success" type="dispatcher">/web/abc.jsp</result>     </action>   </package></struts>


那我在URL里调http://localhost:8080/dev/public/common/test/abc.action则发生异常,报
Java code
ERROR(Dispatcher.java:512)Dispatcher:512 - Could not find action or resultThere is no Action mapped for namespace /public/common/test and action name abc. - [unknown location]



如果把struts-b.xml中的
XML code
   <package name="struts-abc" namespace="/public/common/test">      <action name="abc" class="abc">    <result name="success" type="dispatcher">/web/abc.jsp</result>     </action>   </package>

这段代码放到struts-a.xml中则正常。

请问这是什么原因引起的?还是struts2本身不支持?


[解决办法]
我觉得是路径问题,你得struts-a.xml被include到struts.xml后,再去include下一级的struts-b.xml时是从struts.xml文件的当前路径开始的寻找struts-b.xml,而你的struts-a.xml中的file指定的路径肯定就有问题了。

热点排行