Java struts2中的单包多命名空间

Java struts2中的单包多命名空间,java,struts2,Java,Struts2,Struts2中的特定包可能有多个命名空间吗?对不起,如果没有任何意义的话。假设我有一个动作说 <package name="default" namespace="/abc" extends="struts-default"> <action name="SayWelcome"> <result>pages/welcome.jsp</result> </action> </package>

Struts2中的特定包可能有多个命名空间吗?对不起,如果没有任何意义的话。假设我有一个动作说

<package name="default" namespace="/abc" extends="struts-default">
    <action name="SayWelcome">
        <result>pages/welcome.jsp</result>
    </action>
</package>

pages/welcome.jsp
我希望对多个名称空间(如
/xyz
/efg
等)调用此操作。除了复制包之外,是否有其他方法可以将其分组在一起。提前感谢可以继承它扩展的包的包行为

使用
package
extends
属性定义父包

<package name="your-default" namespace="/abc" extends="struts-default">
    <action name="SayWelcome">
        <result>pages/welcome.jsp</result>
    </action>
</package>

<package name="xyz" namespace="/xyz" extends="your-default">

</package>

pages/welcome.jsp

还可以从多个包继承(
extends=“default,other default”
)。

为什么需要多个命名空间?我有一个包含大量操作的命名空间。我需要一个新命名空间,它的功能与当前命名空间几乎相同。将命名空间指定给对某些内容进行操作的模块,具有不同内容的其他模块应在另一个命名空间中运行。通过按模块使用的包对操作进行分组来分隔代码。