我有一个带有标题和副标题的JSF模板:
<h3><ui:insert name="title"/></h3>
<hr/>
<h5><ui:insert name="subtitle"/></h5>
使用此模板的所有页面都有标题,但并不总是一个副标题:
<ui:define name="title">My Title with no subtitle</ui:define>
如果没有副标题,我不想拥有<hr/>
标签。所以我真正想做的是检查subtitle
是否为空,如果是,则忽略代码块。这样的事情:
<h3><ui:insert name="title"/></h3>
<c:if test="#{not empty subtitle}">
<hr/>
<h5><ui:insert name="subtitle"/></h5>
<c:if>
但当然<c:if test="#{not empty subtitle}">
不起作用。我不知道如何访问subtitle
变量的值。
有什么想法吗?
由于
答案 0 :(得分:8)
最接近的是将字幕定义为<ui:param>
。
因此,
<ui:define name="title">My Title with a subtitle</ui:define>
<ui:param name="subtitle" value="A subtitle" />
与
<h3><ui:insert name="title"/></h3>
<ui:fragment rendered="#{not empty subtitle}">
<hr/>
<h5>#{subtitle}</h5>
</ui:fragment>