我需要渲染一个可展开的列表,该列表最初显示大约6-8个项目列表,但点击'Show all'
它应显示整个项目列表。
答案 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;
}
}
如果需要,你可以在复合材料中包装它。