我使用带有可选侧栏的jsf标签构建模板。要为侧边栏呈现html,我需要检查它的内容是否实际定义。更具体地说,我试图这样做:(元素类来自bootstrap)
<div class="row">
<div class="#{ check_if_has_sidebar ? 'col-md-9' : 'col-md-12' }">
page content
</div>
<div class="col-md-3" jsf:rendered="#{check_if_has_sidebar}">
<ui:insert name="sidebar-content" />
</div>
</div>
如何检查使用此模板的网页是否定义了&#34; sidebar-content&#34;使用ui:define?
以下解决方案(在similar thread中建议)不起作用,因为我需要在参数定义之前检查&#39; noSideBar&#39;:
<div class="row">
<div class="#{ noSideBar ? 'col-md-9' : 'col-md-12' }">
page content
</div>
<div class="col-md-3" jsf:rendered="#{not noSideBar}">
<ui:insert name="sidebar-content">
<ui:param name="noSideBar" value="true" />
</ui:insert>
</div>
</div>