Dav*_*cía 1 spring spring-mvc apache-tiles
我在Sprint MVC应用程序上使用Apache Tiles,我有这个tiles.xml:
<tiles-definitions>
<definition name="defaultLayout" template="/WEB-INF/tiles/template/defaultLayout.jsp">
<put-attribute name="title" value="" />
<put-attribute name="header" value="/WEB-INF/tiles/template/header.jsp" />
<put-attribute name="content" value=""/>
<put-attribute name="footer" value="/WEB-INF/tiles/template/footer.jsp" />
</definition>
<definition name="home" extends="defaultLayout">
<put-attribute name="title" value="Alsa" />
<put-attribute name="content" value="/WEB-INF/pages/home.jsp" />
<put-attribute name="active" value="index" />
</definition>
</tiles-definitions>
Run Code Online (Sandbox Code Playgroud)
我要做的是使用active属性将类添加到活动菜单项.为此我在header.jsp中有这个:
<%@ taglib uri="http://tiles.apache.org/tags-tiles-extras" prefix="tilesx" %>
<tilesx:useAttribute name="active" />
Run Code Online (Sandbox Code Playgroud)
问题是每次我尝试渲染页面时都会收到此错误:
org.apache.tiles.template.NoSuchAttributeException:导入属性时出错.属性"active"为null
我究竟做错了什么?
Ken*_*man 13
这里的技巧是添加cascade=true到您的属性,以便嵌套定义和模板可用.
<definition name="home" extends="defaultLayout">
<put-attribute name="title" value="Alsa" />
<put-attribute name="content" value="/WEB-INF/pages/home.jsp" />
<put-attribute name="active" value="index" cascade="true"/>
</definition>
Run Code Online (Sandbox Code Playgroud)
请参阅:https: //tiles.apache.org/framework/tutorial/advanced/nesting-extending.html
| 归档时间: |
|
| 查看次数: |
3196 次 |
| 最近记录: |