如何留出一个空的瓷砖位置

5

是否可以留下一个空的瓷砖?比如说我在页面上有三个瓷砖:头部、正文和脚注。我能否只添加正文和脚注,而将头部保留为空白呢?

<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>

目前第二种用法会出现错误,提示我没有定义标题。

有没有办法解决这个问题?

2个回答

10
使用 ignore 属性:
<tiles:insertAttribute name="header" ignore="true"/>
根据文档的介绍:
如果将此属性设置为true,并且指定名称的属性不存在,则仅返回而不写入任何内容。默认值为false,这将导致抛出运行时异常。

4
你可以在基本定义中提供一个空的头部页面,然后在更具体的页面中替换主体和页脚。
你也可以将值设置为空字符串:
<put-attribute name="header" value=""/>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接