在初始视图调用中从Angular JS中获取Spring MVC中的数据

Ale*_*Man 7 javascript spring spring-mvc angularjs

我是Angular JS的新手,我用Angular JS创建了一个Spring MVC Web应用程序,我知道从视图中我们可以使用资源,restangular,http从Angular JS调用REST服务,但是在Spring形式中可以说Controller是一个视图触发并通过视图中的角度加载数据再次从视图到服务器调用来自angular的REST调用,然后获取数据以进行加载,而不是有任何方法在从Spring控制器触发视图时传递json对象第一次到Angular JS.

在此输入图像描述

我做了类似的事情,它的工作正常,但不知道它是否是一个好方法.

弹簧控制器

@RequestMapping("/getemployee")
public ModelAndView helloWord(){
   JSONArray employeeJsonArray = // contains all the information of the employee
   return new ModelAndView("employee", "employee",employeeJsonArray);
}
Run Code Online (Sandbox Code Playgroud)

employee.jsp

<html ng-app="myApp">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Spring 3.0 MVC Series: Hello World</title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.14/angular.min.js"></script>
<script>
var app = angular.module('myApp', []);
app.controller('MyCtrl', function($scope) {
    $scope.employee = [];
    $scope.loadData = function(employee)
    {
        $scope.employee = JSON.parse(employee);
    };
});
</script>
</head>
<body ng-controller="MyCtrl">
{{loadData('${employee}')}}

 <input type="text" ng-value="employee[0].name"/>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

dsp*_*ies 5

当你在"单一"页面应用程序中使用它时,Angular会非常闪耀,因此我建议你按照"现有方法"中的建议使用它,因为它会让你更接近单页应用程序设计,但是,如果你只是想尝试在现有的请求/响应应用程序中获取Angular的一些功能,然后您可以在ng-init页面演示时发送带有数据的html有效负载.这是一个RoR的例子,但我认为这一点很清楚.我认为这有点黑客,但应该完成工作.

   <body ng-init="angularVariable = ${variableFromServer}">
     html/angular ...
   </body>
Run Code Online (Sandbox Code Playgroud)

  • 我收到语法错误:令牌'{'是表达式的第13列的一个意外的标记[在使用它时 (2认同)