是否有 JSF 切换组件或使用图像为 h:selectBooleanCheckbox 设置主题的方法?

Is there a JSF toggle component or a way to theme an h:selectBooleanCheckbox with images?

我尝试使用如下所示的切换。虽然它有效,但在复合组件内部使用时会中断 - 在组件外部更改 singleSelect 值永远不会在组件内部更新:

<h:commandButton disabled="#{cc.attrs.singleSelect}"
                 image="/resources/img/collapse-single.gif">
    <f:ajax listener="#{cc.toggleSingleSelect}" render="#{cc.clientId}"/>
</h:commandButton>

<h:commandButton disabled="#{! cc.attrs.singleSelect}"
                 image="/resources/img/expand-single.gif">
    <f:ajax listener="#{cc.toggleSingleSelect}" render="#{cc.clientId}"/>
</h:commandButton>

但是如果我使用一个简单的复选框,它就可以正常工作:

<h:selectBooleanCheckbox value="#{cc.attrs.singleSelect}">
    <f:ajax render="#{cc.clientId}"/>
</h:selectBooleanCheckbox >

是否有类似复选框但使用图像的东西?

我决定使用 ICEfaces 解决方案并使用他们的 ace:checkboxButton:

<ace:checkboxButton value="#{cc.attrs.singleSelect}" styleClass="toggle">
    <ace:ajax render="#{cc.clientId}"/>
</ace:checkboxButton>

您可以设置样式以使用图像:

http://icefaces-showcase.icesoft.org/showcase.jsf?grp=aceMenu&exp=checkboxButtonCustom