2012-04-17 24 views
1

プロジェクトが私に少し前に渡されました。これはビュー用にJSPを使用し、コントローラ用にスプリング3.1を使用しました。両方とも私はほとんど経験がなく、通常通りです。全部。とにかく、私の問題はこれで、JSPフォームのネストされたチェックボックス

<c:forEach var="item" varStatus="vs" items="${items}"> 
    <form:checkbox path="class.list" item="${item}" /> 
    // check if nesting is required, if so create div and nested list point to class.list.children 
</c:forEach> 

<form:checkboxes path="class.list" items="${items}" delimiter="<br />" /> 

を交換して、さらに上のブレークにつながる選択されていない私のclass.listで追加要素を作成するようです。

ご指摘いただければ幸いです。

+0

何が間違っていますか? – axtavt

+0

チェックボックスが指し示すリストは、チェックボックスから選択されていない追加のインスタンスを持っているため、さらにブレークします。 フォーム:チェックボックスを使用すると、forEachが各チェックボックスに1つずつレンダリングするような非表示の入力フィールドがレンダリングされることに気付きました。 –

答えて

1

チェックボックスを生成するコンパクトな方法であるので、チェックボックスをそのまま残すことをお勧めします。私は春のフォームタグを使用しないように説得力のある理由があるのか​​どうかはわかりません。なぜあなたは隠されたフィールドを見ているのですか?ここを参照してください: http://static.springsource.org/spring/docs/2.5.x/reference/view.html

ここでは、関連する部分である: 何あなたが見ることを期待していないかもしれませんが、各チェックボックスの後に追加の隠しフィールドです。 HTMLページのチェックボックスがチェックされていない場合、フォームが送信されるとその値はHTTPリクエストパラメータの一部としてサーバに送信されないので、Springフォームのデータバインディングのために、このクォークをHTMLで回避する必要があります働くチェックボックスタグは、各チェックボックスのアンダースコア( "_")で囲まれた隠しパラメータを含む既存のSpring規約に従います。こうすることで、「フォームにチェックボックスが表示され、チェックボックスの状態を反映させるためにフォームデータをバインドするオブジェクトを何にしたいのか」をSpringに効果的に伝えることになります。

これが役に立ちます。

関連する問題