Poo*_*ool 5 java jsp struts tiles
我成功使用Struts tile 1,但是在尝试嵌套tile时遇到了问题.
我目前有这样的布局:
http://i49.tinypic.com/jhuemc.jpg
我希望有另一个这样的模板,用于很多用户页面:
http://i46.tinypic.com/14o4mk3.jpg
所以我希望扩展用户布局的第一个布局.在我定义的瓷砖定义中使用:
<definition name=".basic.layout" path="/WEB-INF/jsps/basicLayout.jsp">
....
<definition name=".user.layout" extends=".basic.layout">
<put name="content" value="/WEB-INF/jsps/user/layout.jsp"/>
....
<definition name=".user.page" extends=".user.layout">
<put name="userContent" value="/WEB-INF/jsps/user/page.jsp"/>
....
Run Code Online (Sandbox Code Playgroud)
在user/layout.jsp我尝试通常使用时显示瓷砖<tiles:get name="userContent"/>.
问题是 The requested resource (/WEB-INF/jsps/user/userContent) is not available
我从这里找到了一些信息
这个解决方案对我有用。
在这种情况下,通常您必须创建一个从现有定义扩展的新定义,将属性填充到正确的模板中,并将新定义作为属性分配给主模板。
换句话说:
<definition name="product.nav" template="/productNavLayout.jsp">
<put-attribute name="productPathNav" value="/productPathNav.jsp" />
<put-attribute name="productNav" value="/productNav.jsp" />
</definition>
<definition name="product.nav.extended" extends="product.nav">
<put-attribute name="productContent" value="product.grid" />
</definition>
<definition name="page.products" extends="layout">
<put-attribute name="content" value="product.nav.extended" />
</definition>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5602 次 |
| 最近记录: |