AJAX庫與Spring MVC有什麼關係?AJAX與Spring MVC
我是新開發的Spring和Spring MVC。從http://www.springsource.org的文檔中,我還不瞭解Spring MVC內置了什麼AJAX框架,或者可能建議使用什麼第三方API和工具來開發Spring MVC應用程序。
所有的建議表示讚賞。
我曾經搜索過關於這個主題的SO討論,但是我沒有得到任何明確的方向。
AJAX庫與Spring MVC有什麼關係?AJAX與Spring MVC
我是新開發的Spring和Spring MVC。從http://www.springsource.org的文檔中,我還不瞭解Spring MVC內置了什麼AJAX框架,或者可能建議使用什麼第三方API和工具來開發Spring MVC應用程序。
所有的建議表示讚賞。
我曾經搜索過關於這個主題的SO討論,但是我沒有得到任何明確的方向。
Spring非常容易與Ajax一起使用。如果Jackson在類路徑上,Spring可以使用它將JSON返回給調用者。事情是這樣的:
@RequestMapping("/my/path")
public @ResponseBody MyObject doSomething(@RequestParam Long myVal) {
MyObject result = new MyObject(myVal);
// do something interesting
return result;
}
然後你可以使用jQuery(或您喜愛的其他JavaScript庫)提出請求,以http://myserver/my/path
和處理所產生的JSON對象。
谷歌的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);
}
Spring本身不處理Javascript框架。我不知道Springsource是否會對任何特定的Javascript框架進行倡導,或者他們是否是不可知論者。 Ajax實際上只是一種由瀏覽器技術與Javascript語言相結合的技術,重要的是能夠在客戶端和服務器之間傳遞某種序列化的數據。製作自己的基本AJAX框架並不困難,甚至可以設計自己的數據編碼,而不使用JSON或XML。採用現有的框架和標準是明智的,因爲您不想維護大量的輔助代碼或擔心它,而是專注於您嘗試解決的問題。所以這就是爲什麼有很多Javascript框架可以完成異步請求,並且有一些非常好的功能讓您的生活更輕鬆,例如jQuery提供了出色的DOM操作和瀏覽器中立功能。我認爲將Spring MVC與服務器端的Jackson JSON庫以及客戶端的jQuery結合使用是一個非常體面的端到端解決方案的基礎。我在jQuery和jQuery-UI方面取得了很多成功,但其他Javascript框架也可以工作。對於複雜的應用程序,基本上最終需要在客戶端需要多達第二個MVC,因爲您需要UI部件和必須在客戶端和服務器之間移動的數據之間的分解。
Spring JS支持Dojo JavaScript框架。 Spring Js
感謝您的信息和鏈接。我只是匆匆看着「AJAX」的文檔,並沒有簡單地看「JavaScript」。 (雖然我現在看到「AJAX」在文檔中,但我不確定我之前錯過了它。) –
請通過以下鏈接。它清楚地解釋了它需要如何完成。
http://blog.springsource.org/2010/01/25/ajax-simplifications-in-spring-3-0/
這裏是另一種方法來讓Spring MVC與ZK UI組件的工作 - Rich Web Application with Spring MVC CRUD Demo
在這篇文章中,它使用Spring MVC的控制器ZK UI組件進行通信。 (全部使用Java代碼)
感謝您的詳細回覆和示例。 –