0

Spring MVCでAJAX、JQueryを使用してビューをレンダリングする方法。

WebプロジェクトでAJAX、SpringMVCを使用したJQueryを使用してビューをレンダリングするために使用する必要がある最適なデザインモデルは何ですか。

以前は、Spring / Javaプログラミングを行い、各画面をJSPファイルにしました。そのため、新しい画面を表示するために必要になるたびに、サーバーを呼び出して新しいJSPをロードしました。

今AjaxとJQueryで

JSPページを作成し、JQueryを使用してDIVで画面を変更し、サーバーにアクセスせずに新しいページのように見せることができます。唯一の問題は、これをどのように表示するかです。簡単な方法

AjaxとJQueryを使用すると、必要なJSPページの数を減らすことができると思いますが、JavaScriptを多く含む1つのファイルを作成したくないので、JavaScriptを使用して画面をレンダリングするのは非常に困難です。

ajaxを使用して画面のさまざまな部分をロードする必要があるのではないかと思いますが、画面にそれらを配置すると、JSPが異なります。

4

3 に答える 3

2

Web アプリケーションに ajax 呼び出しを組み込みたい場合は、いくつかの基本的な選択を行う必要があります。ajax リクエストを行い、レスポンスを返します。その形式はどのような応答になりますか?

非常に一般的なオプションが 2 つあります。

  1. JSON。これを使用して、ページの要素を設定します。これを行うために JSP はまったく必要ありません。サーバー側のスプリング コントローラーは、ページが必要とするデータを JSON 形式でストリーミングするだけで済みます。GSONシリアライザーをお勧めしますが、他にもいくつかあります。
  2. HTML フラグメント。これは div (または同様のもの) に取り込まれます。ここでページ全体を返すのではなく、JavaScript が表示するページの一部を返すだけです。このオプションは、ビューのレンダリング/ロジックをサーバー側で処理する場合に適しています。

2番目のアプローチは、質問で説明したようなものです。人々がそれを行うという意味では有効なアプローチですが、私は通常、非同期呼び出しで JSON を使用し、ビュー ロジックをソース ページに含め、必要に応じてビューから非表示にすることを好みます。

DIV 要素の非表示と表示に関する質問に答えるには、jQuery のtoggle()関数を使用します。

于 2012-05-24T15:38:37.630 に答える
0

backbone.js を調べる必要があります

これは、RESTful サービスに依存して永続性とフェッチを提供する JavaScript フレームワークです。

フレームワーク自体は非常によく設計されており、ビュー ロジックをモデル レイヤーなどから分離しています。

さまざまなビューに基づいて情報をロードする jsp ソリューションを選択した場合は、別のアプローチをお勧めします。コントローラーが jsp ビューを返す代わりに、代わりに JSON を返し、ajax に json をレンダリングさせます。この情報のレンダリングは、ハンドルバーなどのテンプレート システムを介して非常にきれいに行うことができ、コードの乱雑さを軽減します。

于 2012-05-24T15:28:49.220 に答える
0

JSP/JSTL を一切使用せず、ページをクリーンな HTML と CSS のみに保ちます。360 などのワイヤーフレームを使用して、ページ テンプレートを作成します。このワイヤーフレームを使用して、必要な場所にビューレットを配置します。

次に<div id="viewlet1"></div>、それらのビューレットごとに を割り当てます。

各ビューレット ID の残りの関数へのバインディングを含む Java スクリプト ファイルをロードします。例:

var viewlets=[ ["#custmeraddress","/customer/address"],["..","...."],...]

DocumentReady で、Rest 応答をそれぞれの場所にバインドします。次に例を示します。

$(viewlets[0]).load(viewlets[1]);

これにより、各残りの関数から対応する場所に html がフェッチされます。

残りの各関数は、XML のみを生成する必要があります。HTML を生成してはなりません。各残りの関数は、コンテンツを返す前に、XSL を使用して XML を HTML に変換する必要があります。

残りの生成された XML を HTML に変換するために、一連のマスター XSL ファイルと関数固有のインクルードを保持します。

すべての残りの関数は、データ アクセスをマスター DAO に委任する必要があります。マスターDAO自体は、プロデューサーとコンシューマーについて何も知らず、仲介するだけです。マスター DAO が使用するすべての SQL を Bean 仕様または静的 XML ファイルに保持します。クエリ結果をキャッシュ マネージャーでキャッシュできるように、すべてのクエリをこのクエリ ライブラリ ファイルに含める必要があります。

rest 関数に応じて、マスター DAO は必要な XML を見つけ、要求オブジェクトからパラメーターを適用し、XML フラグメントを作成して、rest 関数に戻ります。

マスター DAO は、キャッシュ マネージャーのコンシューマーになることもできます。キャッシュ マネージャーは、すべての読み取りと書き込みをインターセプトし、SQL を分析して、クエリ ライブラリ内の任意のクエリのキャッシュ イメージを検証/無効化します。

于 2012-05-24T17:03:30.490 に答える