当一个错误事件发生时,我将结果链接到一个错误操作,当它全部发生在同一个命名空间中时,这可以正常工作,但是当链接到命名空间时,链接操作的结果在链接操作命名空间中。
<package name="mynamespace-htm" namespace="/mynamespace/htm" extends="mybase-base">
<action name="newsItem" class="com.mypackage.control.GetNewsItemAction">
<result name="success">newsItem.jsp</result>
<result name="error" type="chain">
<param name="actionName">invalidSite</param>
<param name="namespace">/mynamespace</param>
</result>
</action>
</package>
<package name="mynamespace" namespace="/mynamespace" extends="mybase-base">
<action name="invalidSite" class="com.mypackage.control.GetInvalidSiteAction">
<result name="success">commonviews/invalidSite.jsp</result>
</action>
</package>
如果我以导致错误结果的方式访问newsItem
操作,我会收到异常javax.servlet.ServletException: File "/mynamespace/htm/commonviews/invalidSite.jsp" not found
为什么它会尝试查找相对于原始命名空间mynamespace/htm
的文件而不是mynamespace
?