1

少し前に、ビューに JSP を使用し、コントローラーに spring 3.1 を使用するプロジェクトが私に渡されました。どちらも経験がほとんどなく、いつものように、全体で約 4 つのコメントがあります。とにかく、私の問題はこれです。

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

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

私のclass.listに追加の要素が作成されているようです。これらは選択されておらず、さらに中断します。

ガイダンスをいただければ幸いです。

4

1 に答える 1

1

チェックボックスを生成するコンパクトな方法であるため、form:checkboxes はそのままにしておくことをお勧めします。スプリング フォーム タグが既に配置されて機能している場合、それを使用しないという説得力のある理由はわかりません。非表示のフィールドが表示される理由について。ここを参照してください: http://static.springsource.org/spring/docs/2.5.x/reference/view.html

関連する部分は次のとおりです。各チェックボックスの後に追加の非表示フィールドが表示されるとは思わないかもしれません。HTML ページのチェックボックスがチェックされていない場合、フォームが送信された後、その値が HTTP 要求パラメーターの一部としてサーバーに送信されないため、Spring フォームのデータバインディングのために、HTML でこの癖を回避する必要があります。仕事に。チェックボックス タグは、各チェックボックスにアンダースコア ("_") がプレフィックスとして付けられた隠しパラメーターを含めるという既存の Spring 規則に従います。これを行うことで、Spring に「チェックボックスがフォームに表示されていて、フォーム データがバインドされるオブジェクトに、何があってもチェックボックスの状態を反映させたい」ということを効果的に伝えることができます。

お役に立てれば。

于 2012-07-16T04:22:28.757 に答える