2011-03-29 4 views
0

testDataのコードではHashMapです。私はspring:bindタグでチェックボックスをバインドしようとしています。 春に構文エラーが発生します:バインドします。私のコードの問題点は何ですか?春:チェックボックスとバインド

​​

答えて

0

spring:bindタグのパスが間違っている可能性があります。私はバインディングしているオブジェクトを記述していないので、正しいパスを教えてくれません。

スプリングバインドの代わりにform:checkboxタグを使用します。

+0

@skaffman:testDataは、ここではtypeHashMapのオブジェクトです。コマンド名はsearchです。 – rajputhch

2

私はあなたが別の構文エラーを持っているかはわからないが、この変更によって開始:

<spring:bind path="${testData[loopStatus.index]}.selected"> 
0

まずため

<spring:bind path="${testData[${loopStatus.index}]}.selected"> 

を、式言語、${開始であなたの表現と}がそれを終了。それらを入れ子にする必要はありません。したがって、は構文エラーです。.selectedは式の外にあるので、ちょうど${testData[loopStatus.index].selected}である必要があります。

forEachでは、varアトリビュートが、現在のアイテムを保持する変数の名前を決定します。したがって、ほとんどの場合varStatusを使用する必要はありません。あなたは、${test.selected}としてあなたのテストをすることができます。

最後に、checked属性がチェックボックス入力要素の外にあります。

ので:

<c:forEach items="${testData}" var="test"> 
    <spring:bind path="${test.selected}"> 
     <input type="hidden" name="_${status.expression}"> 
     <input type="checkbox" name="${status.expression}" value="true" <c:if test="${status.value}">checked</c:if>> 
    </spring:bind> 
</c:forEach> 

(あなたが今まで隠しフィールドが必要かわからない、私たちは、チェックボックスのいずれかのための1つを使用していません)。

関連する問題