我有AngularJS + SpringMVC项目。 通过GET方法,它返回实体列表,因此我可以将它用于打印对象数据的ng-repeat(例如,名称) 但最近我需要使用hashmap(key - object with fields,value - String)
这是代码的一部分,我用于角度列表
这是对象填充列表中字段的方式
<input type="text" ng-model="currentItem.taskName" class="form-control">
app.controller('mainController',function ($scope, $http) {
$scope.tasks = [];
$scope.currentItem = {};
$scope.currentView = 'allTasks';
$scope.refresh = function () {
$http({
method:"GET",
url:"/task"
}).then(function (result) {
$scope.tasks = result.data;
});
};
$scope.refresh();
$scope.save = function(){
$http({
method:"PUT",
url:"/task",
data:$scope.currentItem,
headers:{'X-CSRF-TOKEN':$("meta[name='_csrf']").attr("content")}
}).then(function(result) {
for(var i = 0; i < $scope.tasks.length; i++){
if(result.data.id===$scope.tasks[i].id){
$scope.tasks.splice(i, 1);
}
}
$scope.tasks.push(result.data);
});
$scope.cancel();
};
现在我有了这个控制器:
@GetMapping
public Map<TaskEntity,String> findAll(){
user = (UserEntity) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
return taskService.findFromUser(user.getId());
}
但似乎没有用。
当我使用
时,angular无法找到对象的字段
ng-repeat="(k,v) in tasks"
{{k.name}}
但将此k
打印为对象名称TaskEntity@3434h43
所以我的问题是:如何正确读取hashmap,并在其中添加项目
答案 0 :(得分:0)
哪个类负责反序列化后端和前端之间的对象?
如果我在你的鞋子里,首先我会在控制台中打印GET请求的结果,以便检查服务器返回的结构,因为你正在返回一个复杂的结构,也许它不是像你一样呈现期待着。
希望这有帮助!