如何在 Struts 2 中设置默认的 Tiles 布局

How to set default Tiles layout in Struts 2

我正在开发一个具有多个页面的示例应用程序,所有页面都采用通用布局(CommonLayout:其中有 HeaderBodyFooter)。

<package name="myapp" extends="default" namespace="/">
    <action name="a"><result type="tiles">CommonLayout</result></action>
    <action name="a/create"><result type="tiles">CommonLayout</result></action>
    <action name="b"><result type="tiles">CommonLayout</result></action>
    <action name="b/customize"><result type="tiles">CommonLayout</result></action>
    <action name="b/customize/app"><result type="tiles">CommonLayout</result></action>
    <action name="d/create"><result type="tiles">CommonLayout</result></action>
    <action name="d/view"><result type="tiles">CommonLayout</result></action>
    <action name="d/view/list"><result type="tiles">CommonLayout</result></action>
</package>

每次添加动作时,我必须为每个动作复制同一行,是否有任何配置提及所有动作的布局?

您可以使用每个包的全局结果。例如

<package name="default" extends="struts-default">
  ...
  <global-results>
    <result type="tiles">CommonLayout</result>
  </global-results>
  ...
</package>
<package name="myapp" extends="default" namespace="/">
    <action name="a"/>
    <action name="a/create"/>
    <action name="b"/>
    <action name="b/customize"/>
    <action name="b/customize/app"/>
    <action name="d/create"/>
    <action name="d/view"/>
    <action name="d/view/list"/>
</package>