0

コレクションが 1 つあります。これを .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>

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

1 に答える 1

1

私は言わなければならないの奇妙な使用selectManyCheckbox。具体的な問題は、の値がselectManyCheckbox配列でなければならないことです。

私の意見では、selectBooleanCheckboxの代わりに を使用する必要がありselectManyCheckboxます。プロパティcheckには、空の配列 (チェックボックスが選択されていない場合) と、値が等しい長さ 1 の配列 (チェックボックスが選択されている場合) の 2 つの値のみを指定できますansValue

于 2013-02-14T08:19:33.357 に答える