我想自定义 selectItems 在每个复选框旁边有条件地显示图像 所以首先我试图显示所有复选框的图像 但它只显示一次,这是我试过的:
<h:selectManyCheckbox value="#{myBean.checkboxesArry}" layout="pageDirection">
<f:selectItems value="#{myBean.mapOfCheckBoxes}" var="entry">
<label>
<ice:graphicImage url="/resources/images/myImage.bmp"/>
<b>#{entry.value}</b>
</label>
</f:selectItems>
</h:selectManyCheckbox>
请告知如何做到这一点?
答案 0 :(得分:1)
您无法以<f:selectItems>
方式嵌套UI组件。但是,我发现您使用的是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,但上面的构造适用于Tomahawk,ICEfaces基本上已经复制了实现;您也可以使用<ui:repeat>
但它只支持Map
自JSF 2.1)