1

spring mvc チェックボックス タグの使用に問題があります。List オブジェクトを持つ BookmarkMapping オブジェクトがあります。フォルダー マッピングの内部には、id、name、isMapped (ブール値) などの 3 つの属性があります。チェックボックスを表示するのは、この isMapped プロパティに基づいています。

したがって、私のページでは、modelAttribute を「bookmarkMapping」として取得します。その中には、folderMapping のリストがあります。folderMapping 内の各項目は、チェックボックスのチェック済み属性に対して true または false として設定された isMapped です。

私はこれを試しています

<c:forEach var="folderMapping" items="${bookmarkMapping.folderMapping}" varStatus="i">
    <form:checkbox path="folderMapping[${i.count-1}].isMapped" label="${folderMapping.folderName}"/>
</c:forEach>

これにより、チェックボックスがhtmlで正常に表示されますが、投稿されたときに、投稿されたオブジェクトでチェックボックスの変更がtrue / falseとして反映されません。それは常にfalseを示しています。

4

2 に答える 2

0

<form:checkboxes />タグは試しましたか?これがここで必要なものだと思います。おそらく問題を解決できるでしょう。<c:forEach />タグを置き換えて、次のようにしてみてください。

<form:checkboxes path="folderMapping" items="${allCheckboxValues}" itemLabel="folderName" itemValue="isMapped"/>

allCheckboxValues可能なすべての値をコントローラーに事前入力する必要があります。

詳細なヘルプとTLD のドキュメントについては、このタグに関するSpring のドキュメントを参照してください。

于 2013-01-07T10:32:49.000 に答える
0

checkboxタグの値属性を設定します。

<c:forEach var="folderMapping" items="${bookmarkMapping.folderMapping}" varStatus="i">
    <form:checkbox path="folderMapping[${i.count-1}].isMapped" 
         value = "${folderMapping[${i.count-1}].isMapped}" 
         label="${folderMapping.folderName}"/>
</c:forEach>
于 2013-01-07T10:39:04.950 に答える