java-dataFable中的JSF / Primefaces selectBooleanCheckbox组件始终未选中
作者:互联网
在我的项目中,我正在使用JSF 2.0和Primefaces 3.5.
在一个页面中,我有一个p:dataTable和一个列有selectBooleanCheckbox的表.我尝试了p:selectBooleanCheckbox和h: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>
结果如下:
我想展示selectBooleanCheckbox的正确情况.有什么建议?
解决方法:
您似乎没有将复选框链接到辅助bean中的任何值.尝试将值存储在您的支持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}是正确的.
标签:java,checkbox,jsf,primefaces,facelets 来源: https://codeday.me/bug/20190901/1780171.html