2

私が書いているサーブレットは、100 以上の POST パラメータ (フォームで入力) すべてにアクセスする必要があります。パラメータはタイプ (テキスト、オプション、選択など) によって異なります。パラメータが正しい順序で取得されると、サーブレットは@Entityオブジェクトのいくつかのインスタンスを作成します。これらのインスタンスは、後で を使用してデータベースに永続化されますJPA

@Entityオブジェクトを作成するために、それらの値を循環しHTTPServletRequest.getParametersMap()て一時変数に保存する代わりに、ポストパラメータ値をオブジェクトにマップするより直感的な方法はありますか?

4

1 に答える 1

3

エンティティ Bean のプロパティ名が要求パラメーター名と正確に一致することを確認する場合は、そのためBeanUtils#populate()Apache Commons BeanUtilsを使用できます。

BeanUtils.populate(entity, request.getParameterMap());

それで全部です。

さらに一歩進めるために、ビューの構成方法に基づいて(透過的な変換、検証、Bean アクション メソッドの呼び出しと一緒に)、要求パラメーターを Bean プロパティ (モデル) に透過的にマップする MVC フレームワークを採用できます。 JSFまたはSpring MVCとして。

于 2012-12-19T19:51:28.393 に答える