2015-01-06 157 views
-1

如何在我的Angular Controller中使用Spring Controller中設置的Model變量並將其分配給作用域變量。Angular Controller中的Spring模型變量

e.g:

public String myMethod(Model model, HttpServletRequest request){ model.addAttribute("blahKey", "blahValue");

return "myPage"; }

現在,我想在我的角度控制器使用blahValue並將其分配給一個範圍變量。

例如。 $scope.angularBlah = doSomethingToGet("blahKey");

以某種方式可以做到嗎?

最簡單的方法是使用scriptlet在document.ready()中使用$ {blahKey}分配JS變量,然後在角度控制器中重新使用它們。

+0

你爲什麼不嘗試並找出答案? – Anew

+0

我嘗試了很多東西,我改變了我的整個代碼結構,因爲我無法做到這一點。現在我又需要這個功能了,因此在嘗試了一些東西之後,我在這裏問了我的第一個問題。 :( –

回答

0

Spring和Angular運行在不同的進程中,在不同的機器上(dev之外)。

Spring在服務器上運行java。 Angular在瀏覽器中運行JavaScript。

這意味着你需要對它們之間的數據進行編組。在這種情況下,您希望在客戶端和服務器之間發送JSON。

您可以將模型傳遞到JSP視圖,因爲JSP在服務器上處理,並且只返回HTML到瀏覽器。

您可以在技術上處理服務器上的JSP頁面並返回一個角度應用程序,但這可能不是您想要的。

查看Spring Data REST,它可以幫助您從存儲庫創建一個RESTful API。

+0

這正是我的問題,我的JSP有值,我需要傳遞給我的JS,我使用getElementById,我認爲這是一個骯髒的方式。 –

0

我如何得到解決該問題:

最粗略的方法是使用一個scriptlet來分配使用$ {} blahKey中的document.ready()JS變量,然後再利用他們的角度控制器。