带有angularjs弹簧mvc的无限滚动

时间:2016-03-10 05:03:17

标签: javascript angularjs spring-mvc

此控制器返回发票清单(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;
&#13;
&#13;

1 个答案:

答案 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())服务应该返回发票对象列表。