1

Spring MVC-を使用して特定のシナリオに従うための正しいアプローチで助けが必要です

サービスからコレクションタイプを取得します。これで、各カテゴリにid、name、descriptionなどのフィールドがあり、そのカテゴリで使用できるコレクションもあります。

次に、ユーザー登録フォームを表示する必要があります。ここでは、ユーザーフィールド(名前、電子メールなど)とは別に、これらのさまざまなカテゴリデータを表示する必要があります。ユーザーは、カテゴリを選択するオプションと、そのカテゴリのリストされた製品から製品を選択することもできます。そのため、カテゴリ名に対してチェックボックスを表示してから、製品を表示するためのコンボボックスを表示する必要があります。

に渡されたコマンドオブジェクトでこれをキャプチャするにはどうすればよいですかJSP。UserFormとしてコマンドを作成しました。ここでは、ユーザーフィールドとは別に、コレクションもあります。でそれを繰り返すことができJSPますが、カテゴリのユーザー選択とそのカテゴリに選択された製品をキャプチャするにはどうすればよいですか?ユーザーの選択をキャプチャするためにフォームに別々のフィールドを保持する必要がありますか(たとえば、int[]categoryIdとint[]productId)、それを行う方法はありますか?

あなたの提案を提供してください。

ありがとう!

4

1 に答える 1

0

SpringMVCで複数のオブジェクト階層を送信できます。

あなたがこのようなものを持っているとしましょう:

public class UserForm {
    private List<Category> categories;
    ...
}

public class Category {
    private List<Product> products;
    private String name;
    ...
}

public class Product {
    private String name;
}

最初のカテゴリ名を送信するには、次のようにします。

<form:input path="categories[0].name" />

最初の製品名を送信するには、次のようにします。

<form:input path="categories[0].products[0].name" />

複数のカテゴリ/製品を送信するには、0をサーバー側(JSP)またはJavascript側で設定するインデックスに置き換えます。JSPに設定されたインデックスの例:

<form:input path="categories[${someIndex}].name" />
于 2012-10-12T06:19:42.217 に答える