如何将对象从Spring Controller传递到AngularJS

时间:2019-02-24 07:32:16

标签: angularjs spring controller

@Controller
public class HelloController {
    @RequestMapping(value="/here", method=RequestMethod.POST)
    public String display( Model m)
    {   
      m.addAttribute("msg", "Hello from controller: ");
      return "NewFile";
    }
}

1 个答案:

答案 0 :(得分:0)

首先,您必须返回要在Angularjs中获取的对象。 您可以使用Jackson将对象映射到Json。然后只需从Angular调用终点,并从Json中以angular方式构建对象即可。

这是一个如何在angularjs中加载json的链接: How to load json into my angular.js ng-model?

如果您具有以下JSON

[{ "text":"learn angular", "done":true },
 { "text":"build an angular app", "done":false},
 { "text":"something", "done":false },
 { "text":"another todo", "done":true }]

您可以这样加载

var App = angular.module('App', []);

App.controller('TodoCtrl', function($scope, $http) {
  $http.get('todos.json')
       .then(function(res){
          $scope.todos = res.data;                
        });
});

get方法返回一个promise对象,其第一个参数是成功回调,第二个参数是错误回调。

将$ http添加为函数的参数时,Angular会神奇地将$ http资源注入到控制器中。