我有一个集合,它由<h:dataTable>显示在我的.xhtml页面中。我想实现几个目标:首先,我希望通过<h:selectManyCheckbox>设置list.check的值,其次,我希望在当前会话结束之前保持选中的任何值。现在它可以正确显示,但当我选择某个值时,它不会在list.check属性中传递它。我使用的是JSF v.2.2。
JSF bean中的代码:
private List<AnswerDTO> answerListDto;
//getters and setters.xhtml中的代码
<h:form>
<h:dataTable value="#{main.answerListDto}" var="list">
<h:column>
<h:selectManyCheckbox value="#{list.check}">
<f:selectItem itemValue="1" itemLabel="#{list.ansValue}" />
</h:selectManyCheckbox>
</h:column>
</h:dataTable>
</h:form>AnswerDTO类:
public class AnswerDTO implements Serializable, DTO {
private static final long serialVersionUID = 1L;
private Integer id;
private Question questId;
private String ansValue;
private String ansStatus;
private String check;
//getters and setters
}发布于 2013-02-14 16:19:33
我必须说selectManyCheckbox的奇怪用法。具体问题是selectManyCheckbox的值必须是一个数组。
我的观点是应该使用selectBooleanCheckbox而不是selectManyCheckbox。check属性只能有两个值:空数组(如果未选中复选框)和长度为1且值等于ansValue的数组(如果选中复选框)。
https://stackoverflow.com/questions/14870051
复制相似问题