Ryd*_*ark 5 struts2 tiles struts2-namespace
我想在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>
Run Code Online (Sandbox Code Playgroud)
和相应的瓷砖配置:
<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>
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是我需要在搜索文件夹中复制layout.jsp以进行命名空间搜索(对于其他命名空间,依此类推).它不在tile逻辑中,并且会为维护带来更多努力.
有没有人解决这个问题,以避免重复?
尝试这个:
模板:
<!-- 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>
Run Code Online (Sandbox Code Playgroud)
然后数据:
<!-- 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>
Run Code Online (Sandbox Code Playgroud)
您只需要覆盖页面的一部分layout.jsp您只需覆盖您想要加载的
这是我的项目结构:
Root
|
--jsp
|
namespace1
|
--*.jsp
|
--*.jsp
|
--WEB-INF
|
--template
|
--layout.jsp
|
--attr1.jsp
Run Code Online (Sandbox Code Playgroud)
我希望这能解决您的问题。
| 归档时间: |
|
| 查看次数: |
1973 次 |
| 最近记录: |