此控制器返回发票清单(model.addAttribute("发票",invoiceService.getAllInvoices(user.getId()))然后重定向到发票jsp页面(方法invoiceService.getAllInvoices(user.getId) ())是成功的。)
@RequestMapping(value = { "/", "/get-all-invoices" }, method = RequestMethod.GET)
public String getAllInvoices(HttpServletRequest request, ModelMap model) {
User user = (User) request.getSession().getAttribute("user");
model.addAttribute("invoices", invoiceService.getAllInvoices(user.getId()));
model.addAttribute("title", "Invoices");
return "invoices";
}
然后,在发票中,jsp页面将获得发票清单。但是,页面不会加载前20个发票,而loadmore功能也不起作用。谢谢你的帮助!
<!DOCTYPE html>
<html>
<head>
<script src="<c:url value="/resources/js/jquery-1.12.0.min.js" />" type="text/javascript"></script>
<script src="<c:url value="/twitter.github.io/bootstrap/assets/css/bootstrap.css" />" type="text/css"></script>
<script src="<c:url value="/twitter.github.io/bootstrap/assets/css/bootstrap-responsive.css" />" type="text/css"></script>
<script src="<c:url value="/ajax.googleapis.com/ajax/libs/angularjs/1.0.5/angular.min.js" />" type="text/javascript"></script>
<script src="<c:url value="/resources/js/app.js" />" type="text/javascript"></script>
<meta charset=utf-8 />
<title>JS Bin</title>
</head>
<body ng-controller="InvoiceController"ng-app="app">
<table class="table">
<tr ng-repeat="invoice in invoices | limitTo:totalDisplayed"><td>{{invoice.name}}</td>
</tr>
</table>
<btn class="btn" ng-click="loadMore()">Load more</btn>
<script>
var app = angular.module('app', []);
app.controller('InvoiceController', function ($scope) {
$scope.invoices = invoices;
$scope.totalDisplayed = 20;
$scope.loadMore = function () {
$scope.totalDisplayed += 20;
};
});
</script>
</body>
</html>
&#13;
答案 0 :(得分:0)
Angular side正确,弹簧响应类型错误。
您正在返回String,AngularJS ng-repeat将仅迭代对象列表但您迭代String值。
这是错误的:
public String getAllInvoices(HttpServletRequest request,ModelMap model){
User user = (User) request.getSession().getAttribute("user");
model.addAttribute("invoices", invoiceService.getAllInvoices(user.getId()));
model.addAttribute("title", "Invoices");
return "invoices";
}
这应该是:
public 列表 getAllInvoices(HttpServletRequest请求,ModelMap模型){
User user = (User) request.getSession().getAttribute("user");
return invoiceService.getAllInvoices(user.getId());
}
invoiceService.getAllInvoices(user.getId())服务应该返回发票对象列表。