[OmniFaces utilities] The
iterableToModel()
function converts an Iterable<E>
to a DataModel<E>
. Useful when you want to iterate over an Iterable
, which includes any type of Collection
(which includes e.g. a Set
) in for example <ui:repeat>
and <h:dataTable>
. When iterating specifically over a Set
using the Converters#setToList(Set)
is an alternative to this. Use this for more general cases or when the exact collection type is unknown. For those same components Converters#iterableToList(Iterable)
is another alternative. Use this when a DataModel
is specifically needed.Function:
See also: IterableDataModel
Usage:
The IterableDataModel can be
used to encapsulate nearly every collection type, including Collection derived
types such as List and Set. As such this specific DataModel can be
used instead of more specific DataModels like ListDataModel and JSF
2.2's CollectionDataModel.
Use of:iterableToModel() in <ui:repeat/>:
<ui:repeat
value="#{of:iterableToModel(fooBean.fooSet)}"
var="item" varStatus="loop">
#{item}#{!loop.last ? ', ' : ''}
</ui:repeat>
Render a table only if it has rows:
<h:dataTable
value="#{fooBean.fooSet}" rendered="#{of:iterableToModel(fooBean.fooSet).rowCount
ne 0}" var="t">
...
<h:dataTable/>
Niciun comentariu :
Trimiteți un comentariu