3

在我的项目中,我使用的是 JSF 2.0 和 Primefaces 3.5。

在一页中,我有一个p:dataTable表格,一列有一个表格selectBooleanCheckbox。我尝试了p:selectBooleanCheckboxh:selectBooleanCheckbox。我的代码如下:

<h:panelGrid columns="3">
            <p:selectBooleanCheckbox id="id" value="false" />
            <p:selectBooleanCheckbox id="id" value="true" />
            <p:dataTable id="tbl" value="#{bean.items}" var="item" paginator="false">
                <p:column>
                    <h:outputText value="#{item.value}" />
                </p:column>
                <p:column>
                    <h:outputText value="#{item.value}" />
                </p:column>
                <p:column style="white-space:normal; text-align: center;">
                    <p:selectBooleanCheckbox id="id" value="#{item.checked}" />
                    <p:selectBooleanCheckbox id="id" value="true" />
                    <p:selectBooleanCheckbox id="id" value="false" />
                    <h:selectBooleanCheckbox id="id" value="true" />
                    <h:selectBooleanCheckbox id="id" value="false" />
                </p:column>
            </p:dataTable>
        </h:panelGrid>

结果:

primefaces jsf selectBooleanCheckbox

我想显示 selectBooleanCheckbox 的正确大小写。有什么建议么?

4

2 回答 2

4

您应该使用#{true}or#{false}代替trueorfalse
像这样:

<p:selectBooleanCheckbox id="id" value="#{true}" />
于 2013-04-11T16:47:30.290 回答
1

您似乎没有将复选框链接到支持 bean 中的任何值。尝试将值存储在您的支持 bean 中并将其反映在您的复选框中。例如,

支持豆:

private Boolean value1 = true;
private Boolean value2 = false;

//appropriate getters and setters for the above values

JSF 页面片段:

<p:selectBooleanCheckbox value="#{backingbean.value1}" itemLabel="Value 1"/>
<p:selectBooleanCheckbox value="#{backingbean.value2}" itemLabel="Value 2"/>

这应该导致第一个复选框被选中(因为 value1 = true),第二个不应该是 value2 = false。以这种方式,每当您单击复选框时,它的值也将分别反映在 value1 和 value2 中。

希望有帮助...

此外,如果您想手动设置复选框以进行检查,@navand 说使用 #{true} 和 #{false} 是正确的。

于 2013-04-12T03:57:58.370 回答