Java 春天看不见棱角

Java 春天看不见棱角,java,angularjs,spring,Java,Angularjs,Spring,我正在尝试调整我的应用程序以使用angular,但目前spring似乎无法与angular进行查看/通信。以下是我所拥有的: Controller.java: @Controller public class IndexController { @RequestMapping(value = "/login", method = RequestMethod.GET, produces = {"application/json"}) public @ResponseBody Map<St

我正在尝试调整我的应用程序以使用angular,但目前spring似乎无法与angular进行查看/通信。以下是我所拥有的:

Controller.java:

@Controller
public class IndexController {
 @RequestMapping(value = "/login", method = RequestMethod.GET, produces = {"application/json"})
 public @ResponseBody Map<String, Object> getIndexPage() {
    Map<String, Object> model = new HashMap<String, Object>();
    model.put("id", UUID.randomUUID().toString());
    model.put("content", "Hello Worl123321");
    return model;
 } 
}
我只得到如下输出:

{“id”:“01cdab29-e0ce-45ee-abb9-64b2640859ca”,“内容”:“您好” Worl123321“}


而且似乎没有加载angular脚本…

您使用什么来序列化为JSON

这可能是因为映射在对象和数据之间有一个额外的字段“content”

 $scope.greeting = data.content;
我已经听说过类似这样的问题,Jackson添加了一个“内容”,尽管这是为了解决hibernate问题


如果您不想要那个额外的字段:创建一个包含id和content字段的包装类并使用它。

Spring与加载脚本无关。打开浏览器控制台,查看加载的内容。在我看来,这就像一个JSON对象。这就是要求Spring控制器创建的内容。一切都很好,我做到了。没有加载任何源代码,只有我在第一篇文章中显示的输出。这就是您要求Spring做的。这是JSON响应库。你从哪里得到你的输出?也许更重要的是:您希望输出到哪里?因为我看不到视图中使用了$scope上的“greeting”属性。好吧,为什么直接调用REST端点?当然,不会加载角度脚本,因为不会加载引用角度脚本的index.html。只要调用localhost:8090,你的index.html和你的Angular脚本就可以加载了。对我来说,主要的问题是,没有任何Angle脚本被加载,即使我删除了map并且只返回String。那么您引用的输出是来自服务器的输出?如果您打开Developpper工具,是否有任何错误?我看到thar yu包含angular-bootstrap.js?您确定以前没有丢失angular.js文件吗?当你说angular似乎没有加载时,你在broswer提供的工具提供的html中看到了什么?那辆车还在吗?您的浏览器是否启动了加载app.html模板的请求?我在开发人员工具上没有任何错误。我使用webjar包含angular.js。在html中,我从服务器获得的只是文本/json,除此之外,我的脚本或html文件都不存在。我看不到app.htmlid的请求。您是否尝试在app.html中添加原始文本并查看是否显示?
<div class="container">
    <div ng-controller="appCtrl" ng-cloak class="ng-cloak">
        {{greeting.content}}
    </div>
</div>
angular.module('myApp', [])
    .controller('appCtrl', function($scope, $http) {
        $http.get('/login/').success(function(data) {
            $scope.greeting = data;
        });
});
 $scope.greeting = data.content;