是否可以将瓷砖留空?假设我在页面中有三个图块:页眉,正文,页脚。我可以简单地添加一个正文和一个页脚,并将标题留空吗?
<body class="claro">
<div id="wrapper">
<div id="container" class="container">
<div id="hd">
<tiles:insertAttribute name="header" />
</div>
<div id="bd">
<hr/>
<tiles:insertAttribute name="body" />
</div>
<div id="ft">
<hr/>
<tiles:insertAttribute name="footer" />
</div>
</div>
</div>
所以我想这样使用一次:
<definition name="base" template="...">
<put-attribute name="header" value="/WEB-INF/views/base/header.jspx" />
<put-attribute name="body" value="/WEB-INF/views/base/body.jspx" />
<put-attribute name="footer" value="/WEB-INF/views/base/footer.jspx" />
</definition>
曾经这样:
<definition name="base" template="...">
<put-attribute name="body" value="/WEB-INF/views/base/body.jspx" />
<put-attribute name="footer" value="/WEB-INF/views/base/footer.jspx" />
</definition>
目前第二次使用爆炸了。说我还没有定义标题。
有办法做到这一点吗?
答案 0 :(得分:10)
使用ignore属性:
<tiles:insertAttribute name="header" ignore="true"/>
根据docs:
如果此属性设置为true,并且名称指定的属性不存在,则只返回而不写入任何内容。默认值为false,这将导致抛出运行时异常。
答案 1 :(得分:4)
您可以在基本定义中提供一个空页眉,然后在更具体的页面中替换正文和页脚。
您也可以将值设置为空字符串:
<put-attribute name="header" value=""/>