1

我的 JSF 2.0 页面中有一个使用基本 HTML 的列表,如下所示:

<ul>
    <li><h:outputText value="Item1" /></li>
    <li><h:outputText value="Item2" /></li>
    <li><h:outputText value="Item3" /></li>
    <li><h:outputText value="Item4" /></li>
</ul>

但我不想在某些条件下显示某些项目,所以我可以使用:

<ul>
    <li><h:outputText value="Item1" rendered="true"/></li>
    <li><h:outputText value="Item2" rendered="true"/></li>
    <li><h:outputText value="Item3" rendered="false"/></li>
    <li><h:outputText value="Item4" rendered="false"/></li>
</ul>

但是,列表项仍在呈现并且正在破坏我的页面,所以我正在寻找替换普通<li>项目的东西,所以我可以使用该rendered选项,或者可能是其他一些想法。

谢谢!

4

1 回答 1

16

您还需要有条件地渲染<li>。将它们中的每一个包裹在<h:panelGroup>or中<ui:fragment>

<ul>
    <ui:fragment rendered="true"><li>Item1</li></ui:fragment>
    <ui:fragment rendered="true"><li>Item2</li></ui:fragment>
    <ui:fragment rendered="false"><li>Item3</li></ui:fragment>
    <ui:fragment rendered="false"><li>Item4</li></ui:fragment>
</ul>
于 2012-05-14T12:11:37.050 回答