0

Struts 1.2 フレームワークに要件があり、フォームに 50 から 60 のフィールドがあり、3 つのフィールド (ユーザーによって変更される) のみを更新する必要があるため、フォームを送信するときに、これらの 3 つのフィールドのみを更新する必要があります。データベースで。

struts ActionForm の 50 フィールドのうち、変更/変更された 3 つのフィールドを特定するにはどうすればよいですか。あなたの提案は非常に高く評価されています。

4

1 に答える 1

0

フォームを送信すると、すべてのフィールドが送信されるため、これを行う方法はありません (チェックボックスを除く場合もあります)。

javascript と ajax を使用して、変更したい値を投稿するだけです。フィールドにイベント ハンドラーを設定して、ユーザーがフィールドを変更したことを検出し、変更したフィールドだけを投稿します。これの問題は、そのルートに行く場合、「フォーム」を送信するためにjavascriptしか使用できないことです。

個人的に私がすることは、変更されたかどうかを確認している3つのフィールドだけを含むフォームから入力できるjavabeanを作成することです。データベースから現在のデータを取得し (または、再度クエリを実行したくない場合はセッション属性を使用できます)、JavaBean の別のインスタンスにそのデータを入力します。2 つの Bean を比較して、フィールドが等しいかどうかを確認します。比較している Bean の同等性に基づいて、フォームの残りを処理します。

または、最初にアクションフォームを使用してフィールドに入力している限り、ユーザーが送信したアクションフォームと新しいデータが入力された別のアクションフォームを比較して、実際に何を保持する必要があるかを判断します。

于 2013-03-20T01:49:58.810 に答える