2013-09-22 47 views
0

我打算爲j2ee應用程序使用Spring MVC + angularJS。問題如下: -Spring + AngularJS的Spring MVC或Rest Services

  1. 是否有可能在Spring MVC中使用AngularJS,我不是在這裏討論Rest服務的Spring配置。它的Spring MVC框架用於構建Web應用程序。如果您願意,請舉例說明。
  2. 我做了谷歌和發現了喜歡的人使用Spring MVC和RESTful服務同義,谷歌的結果,我得到的是像angularJS + Spring MVC的REST服務,其中在請求響應是JSON格式,我不知道,如果那就是他們說Rest服務的原因。

謝謝

+0

查看Spring Data REST以及用於構建Restful Web服務的Spring HATEOAS。另外,檢查出澤西島。 –

回答

4

首先,AngularJS是前端MVC框架,並不要緊,你在後端使用什麼技術。它可能是Java(Spring,Struts或任何其他框架)或.NET

並獲得儘可能JSON你的迴應,你必須包括「傑克遜JSON Processor`。這是一個與此相關的問題。

Spring: Return JSON response From A Java Bean

而且處理你AngularJS代碼,這裏的問題。

Spring MVC and Angularjs

乾杯!與Angular玩得開心!

+0

如果你找到了你要找的東西,你應該接受答案。如果不是,請傳達缺少的內容。通過這種方式,其他人可以堅定地看待這個問題 – Abilash

0

我想提出一個類似的實現,從這個例子https://github.com/xvitcoder/spring-mvc-angularjs開始。與樣品

的主要區別一)把所有的AngularJS HTML文件下的webapp/WEB-INF /意見

B)有一個春天的ViewResolver映射/視圖。我們正在使用Velocity,但您可以使用Freechart或任何視圖技術。

<bean id="viewResolver" class="org.springframework.web.servlet.view.velocity.VelocityConfigurer"> 
<property name="resourceLoaderPath" value="/WEB-INF/views/"> 
</bean><!-- see xvitcoder sample for the complete web.xml--> 

c)有一個控制器響應您的HTML部分請求。神奇的是,客戶端URL不需要匹配物理文件夾結構。當你有一個靜態html項目時,這是缺乏的。

@RequestMapping("dummypath/{folder}/{remainder}") 
public String getSomePartial(@PathVariable("folder") String folder, 
@PathVariable("remainder") String path) { 
return folder + "/" + path; 
} 

dummpypath允許以隔離從像servlet或REST服務其他請求AngularJS泛音(ngInclude,ngView)的請求。 HTML文件實際上仍在/ views/folder/path下。你可以做更復雜的事情,比如計算不同的視圖名稱。

<div ng-include="dummypath/summary/table.html"></div> 

將加載views/summary/table.html文件。你的ViewResolver會預先處理這個文件,允許一些服務器端的修復。

d)從Spring MVC向angularjs傳遞參數的示例。 定義在Spring控制器查詢並返回一個HTML文件

@RequestMapping 
public String getPage(@RequestParam(value="someparam", defaultValue="0") string myparam, 
ModelMap model){ 
model.addAttribute("someparam", myparam) 
return "index"; //index.html 
} 

在AngularJs控制器注入$位置檢索參數。

$scope.someparam = ($location.search()).someparam 

一旦索引被加載,我們就處於Angular生態系統中!我正在使用此方法刷新網頁,同時保留上下文。根據查詢參數,你可以加載一些JSON的東西或ngSwitch放在正確的部分。

E)的利弊

優點:簡單,你不能總是建立與靜態文件+ REST

缺點完整的解決方案:測試和建設項目需要額外的步驟。你需要在WAR中捆綁東西,在外部和內部測試它們。