Вы не можете таким образом вкладывать компоненты пользовательского интерфейса в <f:selectItems>
.Однако я вижу, что вы используете ICEfaces, тогда вы сможете использовать <ice:selectManyCheckbox layout="spread">
в сочетании с <ice:checkbox>
.
<ice:selectManyCheckbox id="foo" value="#{myBean.checkboxesArry}" layout="spread">
<f:selectItems value="#{myBean.mapOfCheckBoxes}" />
</ice:selectManyCheckbox>
<c:forEach items="#{myBean.mapOfCheckBoxes}" var="entry" varStatus="loop">
<ice:checkbox for="foo" index="#{loop.index}" />
<ice:graphicImage url="/resources/images/myImage.bmp" />
<b>#{entry.value}</b>
</c:forEach>
(не проверено, поскольку я не использую ICEfaces,но приведенная выше конструкция работает для томагавка, из которого ICEfaces в основном скопировала реализацию; вы также можете использовать <ui:repeat>
, но она поддерживает только Map
начиная с JSF 2.1)
См. также: