0

我有一个集合,我在我的 .xhtml 页面中显示<h:dataTable>。我想达到几个目标:首先我想将 list.check 值设置为<h:selectManyCheckbox>,其次我想要在当前会话结束之前保持选中的任何值。现在它显示正确,但是当我选择某个值时,它不会在 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>

答DTO类:

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
}
4

1 回答 1

1

selectManyCheckbox我必须说奇怪的用法。具体问题是 的值selectManyCheckbox必须是一个数组。

我的意见是selectBooleanCheckbox应该使用selectManyCheckbox. 您的check属性只能有两个值,一个空数组(如果未选中复选框)和长度为 1 且值等于的数组ansValue(如果选中复选框)。

于 2013-02-14T08:19:33.357 回答