当我从 java.sun.com/jsf/html 更改 selectBooleanCheckbox
<p:dataGrid value="#{model.items}" var="item">
<h:selectBooleanCheckbox
id="test-h"
value="#{item.use}">
<h:outputText value="use" />
</h:selectBooleanCheckbox>
</p:dataGrid>
到 PrimeFaces 选择BooleanCheckbox
<p:dataGrid value="#{model.items}" var="item">
<p:selectBooleanCheckbox
id="test-p"
value="#{item.use}"
itemLabel="use">
</p:selectBooleanCheckbox>
</p:dataGrid>
不使用来自 bean 的值。
p:selectBooleanCheckbox 的值始终为 false。item.use 值是什么并不重要。
编辑:我添加了模型。这很简单:
@ViewScoped
@Named
public class Model implements Serializable {
private static final long serialVersionUID = -7681870663928901842L;
private List<ScannedItem> items;
public List<ScannedItem> getItems() {
return items;
}
public void setItems(List<ScannedItem> items) {
this.items = items;
}
}
和实体 ScannedItem:
@Entity
@Table(name = "scanned_item")
public class ScannedItem implements Serializable {
//...
@Column(name = "in_use")
private boolean use;
public boolean isUse() {
return use;
}
public void setUse(boolean use) {
this.use = use;
}
//...
}
注意:我正在使用来自primefaces 5.1.1的primefaces mobile