测试jsf模板facelet内容是否由模板客户端使用ui:define定义

时间:2016-01-18 12:48:53

标签: jsf

我使用带有可选侧栏的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>

0 个答案:

没有答案