【发布时间】:2014-07-29 04:28:39
【问题描述】:
我是 Angular JS 的新手,我已经使用 Angular JS 创建了一个 Spring MVC Web 应用程序,我知道从视图中我们可以使用资源、restangular、http 从 Angular JS 调用 REST 服务,但是在 Spring 中说 Controller a视图被触发并再次通过视图中的角度加载数据从角度调用REST调用从视图到服务器并在此后获取数据以进行加载,而是有什么方法可以在触发视图时传递json对象从 Spring 控制器到 Angular JS 本身。
我做过类似的事情,它工作正常,但不知道它是否是一个好方法。
弹簧控制器
@RequestMapping("/getemployee")
public ModelAndView helloWord(){
JSONArray employeeJsonArray = // contains all the information of the employee
return new ModelAndView("employee", "employee",employeeJsonArray);
}
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>
【问题讨论】:
-
您是在问是否可以像使用传统的请求/响应应用程序一样为页面提供 json 数据?
-
是的,但是数据需要通过初始视图调用本身从服务器传递
-
你可以使用
ng-init,我会写一个简短的答案 -
好问题!我喜欢。以供将来参考。
-
但是,在上述情况下,可能会出现闪烁,内容会暂时显示。因此使用 ng-cloak 。 {{payCntrl.loadContactAddress('${contactAddress}')}} 使用 CSS : [ng\:cloak], [ng-cloak], .ng-cloak { display: none !重要的; }
标签: javascript spring angularjs spring-mvc