Этот контроллер возвращает список счетов-фактур (model.addAttribute («invoices», invoiceService.getAllInvoices (user.getId()))), затем перенаправляет на счета-фактуры jsp-страницу (метод invoiceService.getAllInvoices (пользователь. getId()) является успешным).Бесконечность прокрутки с angularjs spring mvc
@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) {
\t
$scope.invoices = invoices;
$scope.totalDisplayed = 20;
$scope.loadMore = function() {
\t
$scope.totalDisplayed += 20;
};
});
</script>
</body>
</html>
Я не вижу $ http-вызов для получения данных с сервера в вашем угловом коде. –
Поскольку вы возвращаете полный просмотр и весь контент (включая код javascript) внутри него, я думаю, вы должны присвоить объект счетов-фактур как jsp var. Что-то вроде этого: $ scope.invoices = $ {invoices} – Diego
Спасибо Диего. Когда я использую $ scope.invoices = $ {invoices}. На странице invoses jsp отображается все invoice.name, но не ограничивается 20 счетами-фактурами. И я добавляю alert (sth) в этот скрипт, чтобы убедиться, что он запущен, предупреждение не вызывается, когда я удаляю $ scope.invoices = $ {invoices}, вызывается alert (sth). Неправильно? спасибо –