1

ユーザーがリストの内容を変更できるようにするSpring MVCアプリに取り組んでいます。

リストは、名前や作成者などの単純なプロパティを持つ Book オブジェクトで構成されます。ビューは、書籍のリストを表示し、ユーザーがコンテンツを変更できるようにする JSP ページです。

リストの変更とは、書籍の追加、削除、またはリスト内の書籍の順序の変更を意味します。

質問は、変更されたリストをサーバーに戻すにはどうすればよいですか? JavaScript を記述してリストを制御することはできますが、それを Spring コントローラーにポストするにはどうすればよいでしょうか? 一方、モデルを変更するための JSP フォームを作成して、サーバーに送信するのは簡単ですが、フォーム入力の基本的なテキスト フィールドに限定されますか?

EDIT:JSPでは、次のようなフォームを使用して単一のモデルのプロパティを変更するのは非常に簡単です

<form:form action="myaction" method="post" commandName="mybook">

しかし、モデルが (順序付けられた) オブジェクトのリストである場合、どのように編集しますか?

Javascript では、応答からオブジェクトのリストを取得し、必要に応じて変更できますが、それをサーバーに送信するにはどうすればよいですか? 何かのようなもの

$.post("/modifybook.do",{ name: "Spring in Action", author: "Graig Walls" } );

動作しますが、単一のオブジェクトに対してのみです。

4

2 に答える 2

1

リスト全体、ピリオドを操作することは避けてください。リスト要素が 1 つだけ変更 (編集、追加、または削除) されているときに、アイテムのリスト全体を入力してサーバーに送り返すシナリオが見当たりません。

アプリで通常行うことは、オブジェクトのリスト全体を一度に返すためのハンドラー (コントローラー) を作成し、そのリスト内の単一のエントリを追加、編集、および削除するための別のハンドラーを追加することです。また、そのようなシナリオでは REST に固執するようにしています。これにより、サーバー リソースとフロントエンド (AJAX + jQuery) がそれを利用するクリーンな API が得られます。

このソリューションは私にとって非常にうまく機能するので、それに固執することもお勧めします.

于 2012-06-14T21:33:30.990 に答える
1

Spring を使用したことがないので、これは適切ではないかもしれませんが、リストを XML に変換し、それを Java に戻して、すべての複雑さと変更を保持して作業することはできませんか?

于 2012-06-14T12:34:51.807 に答える