1
목록을 반복하고 현재 요소의 특정 속성이 이전 요소와 다른 경우에만 렌더링되도록합니다. 지금은이 :JSF 2 facelets를 사용하여 ListDataModel을 반복 할 때 이전/다음 항목에 액세스 <ui:repeat> 태그
<ui:repeat value="#{myBean.myListDataModel}" var="item" varStatus="itemStatus">
<ui:fragment rendered="#{
itemStatus.first
or (myBean.myListDataModelUnwrapped[itemStatus.index-1].category ne item.category)
}">
<h1>
<h:outputText value="#{item.category}"/>
</h1>
<!-- can't open a ul here -->
</ui:fragment>
<li>
<h:outputText value="#{item.name}"/>
</li>
<ui:fragment rendered="#{
itemStatus.last or
(myBean.myListDataModelUnwrapped[itemStatus.index+1].category ne item.category)
}">
<!-- can't close a ul here -->
</ui:fragment>
</ui:repeat>
곳
Object[] myListDataModelUnwrapped =
(Object[]) ((new ArrayList((List) myListDataModel.getWrappedData())).toArray());
ListDataModel
의 반복 처리를하는 경우, 이전/다음 요소에 액세스 할 수있는 더 좋은 방법은 무엇입니까?<ul></ul>
태그에 목록 요소를 포함시켜 어떻게 정렬 할 수 있습니까? 각 범주 헤더 아래에 유효한 정렬되지 않은 목록이 렌더링됩니까?
팁을 주셔서 감사합니다 .--) 나는 루프를 카테고리의 루프 안에 구축하여 명확하고 단순하게 유지했습니다. 나는'ArrayList'의'ArrayList'를 작성하는 오버 헤드를 추가하지 않고 꽤 작은 목록을 통해 세션 당 한 번만 수행하므로 영향이별로 없기를 바랍니다. – NotGaeL