0

这是示例两个xml。

email.xml:

<action name="mailSelect" class="com.my.EmailAction">
    <result name="success">mailSelect.jsp</result>
</action>

我想在另一个 xml 中使用在 email.xml 中定义的相同方法调用。

another.xml:

<action name="mailSelect" class="com.my.EmailAction">
    <result name="success">/email/mailSelect.jsp</result>
</action>

当我试图打电话时,被调用的动作http://localhost:8080/test/web/another/mailSelect不是正确的http://localhost:8080/test/web/email/mailSelect.

有什么方法可以在另一个 xml 中重用相同的方法?

4

1 回答 1

0

为了确保动作名称不冲突,您应该在不同的命名空间中配置它们。

<package name="email" namespace="/web/email" extends="struts-default">
  <action name="mailSelect" class="com.my.EmailAction">
    <result name="success">/email/mailSelect.jsp</result>
  </action>
</package>

<package name="another" namespace="/web/another" extends="struts-default">
  <action name="mailSelect" class="com.my.EmailAction">
    <result name="success">mailSelect.jsp</result>
  </action>
</package>

为了更好地理解命名空间,请查看Struts 2 命名空间配置示例和解释教程。

于 2013-05-03T09:27:18.447 回答