2012-05-31 22 views
5

どのAJAXライブラリがSpring MVCとうまく機能しますか?AJAX with Spring MVC

私はSpringとSpring MVCを使って開発するのが初めてです。 http://www.springsource.orgのドキュメントからは、Spring MVCがどのAJAXフレームワークに組み込まれているのか、Spring MVCアプリケーションを開発する上でうまくいくものとしてサードパーティのAPIとツールが示唆されているのかまだ分かりません。

すべてのおすすめが評価されます。

この件に関する前回の議論で検索しましたが、明確な方向性はありませんでした。

答えて

8

春はAjaxで使いやすいです。 Jacksonがクラスパス上にある場合、Springは呼び出し元にJSONを返すためにSpringを使用できます。このような何か:

@RequestMapping("/my/path") 
public @ResponseBody MyObject doSomething(@RequestParam Long myVal) { 
    MyObject result = new MyObject(myVal); 
    // do something interesting 
    return result; 
} 

次にあなたがhttp://myserver/my/pathにリクエストを作成し、その結果のJSONオブジェクトを処理するためにjQueryの(またはお好みの他のJavaScriptライブラリ)を使用することができます。

GoogleのGSONも使いやすいです。次のように:

@RequestMapping("/my/path") 
public ResponseEntity<String> MyObject doSomething(@RequestParam Long myVal) { 
    MyObject result = new MyObject(myVal); 
    // do something interesting 
    HttpHeaders headers = new HttpHeaders(); 
    headers.set( "Content-Type", "application/json"); 
    String json = gson.toJson(result); 
    return new ResponseEntity<String>(json, headers, HttpStatus.CREATED); 
} 
+0

詳細な応答と例をありがとうございます。 –

1

春はJavascriptフレームワーク自体を処理しません。 Springsourceが特定のJavascriptフレームワークに対するアドボカシーを行っているのか、それとも無関係であるのかはわかりません。 Ajaxは実際にはJavascript言語と組み合わせたブラウザ技術によって実現される単なる技術であり、クライアントとサーバーの間で何らかのシリアルデータを渡すことが重要です。独自の基本AJAXフレームワークを作成するのはそれほど難しいことではなく、独自のデータエンコーディングを設計し、JSONやXMLを使用することさえできません。既存のフレームワークと標準を採用することが賢明です。なぜなら、多くの付随コードを維持したり、心配する必要がなく、解決しようとしている問題に集中するからです。だからこそ、非同期リクエストを行うことができる多くのJavascriptフレームワークがあり、jQueryは優れたDOM操作とブラウザ中立的な機能を提供するなど、あなたの人生を楽にする本当に素晴らしい機能と機能を備えています。私は、Spring MVCをサーバーサイドのJackson JSONライブラリーとクライアントサイドのjQueryと一緒に使用することは、まったくまともなエンドツーエンドソリューションの基礎であると考えています。私はjQueryとjQuery-UIで多くの成功を収めましたが、他のJavascriptフレームワークも同様に機能します。複雑なアプリケーションの場合、UIウィジェットとクライアントとサーバーの間を移動する必要があるデータの間にブレークダウンが必要なため、基本的にはクライアント側で2番目のMVCに必要なものが必要になります。

1

Spring JSはDojo JavaScriptフレームワークをサポートしています。 Spring Js

+0

情報とリンクをありがとうございます。私は急いでドキュメントを "AJAX"で探していただけで、単に "JavaScript"だけを見ていませんでした。 (私は今、 "AJAX"がドキュメントに入っているのを見ていますが、私が以前にそれを見逃したかどうかは分かりません)。 –

2

スプリングMVCは、ZK UIコンポーネントで動作するようにする別のアプローチである - その記事でRich Web Application with Spring MVC CRUD Demo

を、それがZK UIコンポーネントと通信するためにスプリングMVCコントローラを用います。 (すべてJavaコード内)