gpt4 book ai didi

struts2 - 将多个 Struts2 namespace 与图 block 一起使用

转载 作者:行者123 更新时间:2023-12-02 23:58:15 26 4
gpt4 key购买 nike

我想在我的 struts2 配置中添加命名空间,并且我使用tile。

例如我的 struts.xml 包:

<package name="search" namespace="/search" extends="struts-default"> 
<result-types>
<result-type name="tiles" class="org.apache.struts2.views.tiles.TilesResult" />
</result-types>
<action name="SearchActionInit" class="web.action.SearchAction" method="initSearch">
<result name="input" type="tiles">search</result>
<result name="success" type="tiles">search</result>
</action>
</package>

以及相应的图 block 配置:

<definition name="baseLayout"    template="layout.jsp">
<put-attribute name="titre" value="titre.default" />
<put-attribute name="header" value="/common/header.jsp" />
<put-attribute name="menu" value="/common/menu.jsp" />
<put-attribute name="leftcontent" value="/common/leftcontent.jsp" />
<put-attribute name="rightcontent" value="/common/rightcontent.jsp" />
<put-attribute name="detail" value="/common/detail.jsp" />
<put-attribute name="footer" value="/common/footer.jsp" />
</definition>

<definition name="search" extends="baseLayout">
<put-attribute name="titre" value="titre.search" />
<put-attribute name="rightcontent" value="/pages/search/Search.jsp" />
</definition>

我遇到的问题是,我需要在 namespace 搜索的搜索文件夹中复制layout.jsp(对于其他 namespace 也是如此)。它不在tiles逻辑中,并且会带来更多的维护工作量。

有人知道这个问题的关键以避免重复吗?

最佳答案

试试这个:

模板:

<!-- meta template -->
<definition name="global" template="/WEB-INF/template/layout.jsp">
<put-attribute name="attr1" value="/WEB-INF/template/attr1.jsp"/>
<put-attribute name="attr2" value="/WEB-INF/template/attr2.jsp"/>
<!-- more -->
</definition>

然后是数据:

<!-- instance -->
<definition name="myApp.search" extends="global">
<put-attribute name="attr2" value="/jsp/search/search.jsp"/>
</definition>
<!-- instance -->
<definition name="myApp.page2" extends="global">
<put-attribute name="attrN" value="/jsp/namespaceN/whatever.jsp"/>
</definition>

您只需覆盖您想要加载的页面 layout.jsp 部分。

这是我的项目结构:

Root
|
--jsp
|
namespace1
|
--*.jsp
|
--*.jsp
|
--WEB-INF
|
--template
|
--layout.jsp
|
--attr1.jsp

希望这能解决您的问题。

关于struts2 - 将多个 Struts2 namespace 与图 block 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12950236/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com