是否有任何此类组件(用于显示可扩展列表)?

时间:2011-06-10 16:19:27

标签: jsf primefaces

我需要渲染一个可展开的列表,该列表最初显示大约6-8个项目列表,但点击'Show all'它应显示整个项目列表。

1 个答案:

答案 0 :(得分:2)

没有想到PrimeFaces组件,但是这个怎么样?

<h:form>
    <ul>
        <ui:repeat value="#{bean.list}" var="item" varStatus="loop">
            <ui:fragment rendered="#{loop.index lt 6 or bean.showAll}">
                <li>#{item}</li>
            </ui:fragment>
        </ui:repeat>
    </ul>
    <h:commandButton value="Show all" action="#{bean.setShowAll(true)}" rendered="#{!bean.showAll}">
        <f:ajax render="@form" />
    </h:commandButton>
</h:form>

@ManagedBean
@ViewScoped
public class Bean implements Serializable {

    private List<String> list = Arrays.asList("one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten");
    private boolean showAll;

    public List<String> getList() {
        return list;
    }

    public boolean isShowAll() {
        return showAll;
    }

    public void setShowAll(boolean showAll) {
        this.showAll = showAll;
    }

}

如果需要,你可以在复合材料中包装它。