2012-05-31 123 views
5

AJAX庫與Spring MVC有什麼關係?AJAX與Spring MVC

我是新開發的Spring和Spring MVC。從http://www.springsource.org的文檔中,我還不瞭解Spring MVC內置了什麼AJAX框架,或者可能建議使用什麼第三方API和工具來開發Spring MVC應用程序。

所有的建議表示讚賞。

我曾經搜索過關於這個主題的SO討論,但是我沒有得到任何明確的方向。

回答

8

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); 
} 
+0

感謝您的詳細回覆和示例。 –

1

Spring本身不處理Javascript框架。我不知道Springsource是否會對任何特定的Javascript框架進行倡導,或者他們是否是不可知論者。 Ajax實際上只是一種由瀏覽器技術與Javascript語言相結合的技術,重要的是能夠在客戶端和服務器之間傳遞某種序列化的數據。製作自己的基本AJAX框架並不困難,甚至可以設計自己的數據編碼,而不使用JSON或XML。採用現有的框架和標準是明智的,因爲您不想維護大量的輔助代碼或擔心它,而是專注於您嘗試解決的問題。所以這就是爲什麼有很多Javascript框架可以完成異步請求,並且有一些非常好的功能讓您的生活更輕鬆,例如jQuery提供了出色的DOM操作和瀏覽器中立功能。我認爲將Spring MVC與服務器端的Jackson JSON庫以及客戶端的jQuery結合使用是一個非常體面的端到端解決方案的基礎。我在jQuery和jQuery-UI方面取得了很多成功,但其他Javascript框架也可以工作。對於複雜的應用程序,基本上最終需要在客戶端需要多達第二個MVC,因爲您需要UI部件和必須在客戶端和服務器之間移動的數據之間的分解。

1

Spring JS支持Dojo JavaScript框架。 Spring Js

+0

感謝您的信息和鏈接。我只是匆匆看着「AJAX」的文檔,並沒有簡單地看「JavaScript」。 (雖然我現在看到「AJAX」在文檔中,但我不確定我之前錯過了它。) –