我正在开发一个带有spring boot和angular Js的web应用程序,我想为我的界面添加分页但是它给了我标题中提到的错误:Optional int parameter' page'存在但由于被声明为基本类型而无法转换为空值。考虑将其声明为相应基元类型的对象包装器。
这是我的java控制器
@RequestMapping(value="/getReports",method=RequestMethod.GET)
public Page<DetailsReport> getTables(int page){
return detailsReportRepository.findAll(new PageRequest(page,5));
}
这是我的Js控制器
$scope.pageCourante=0;
$scope.loadReports=function(){
$http.get("/getReports?page="+$sope.pageCourante)
.success(function(data){
$scope.reports=data;
$scope.pages=new Array(data.totalPages)
});
}
$scope.gotoPage = function(p) {
$scope.pageCourante = p;
$scope.loadReports();
}
这里是html
<div class="container">
<ul class="nav nav-pills">
<li ng-class ="{active:$index==pageCourante} " class="clickable"
ng-repeat="p in pages track by $index"> <a
ng-click="gotoPage($index)">{{$index}}</a>
</li>
</ul>
</div>
有什么想法吗?
答案 0 :(得分:0)
您忘了放置@RequestParam注释
@RequestMapping(value="/getReports",method=RequestMethod.GET)
public Page<DetailsReport> getTables(@RequestParam(value = "pageNumber", required = false) int page){
return detailsReportRepository.findAll(new PageRequest(page,5));
}
您需要使用@RequestParam注释将请求参数绑定到控制器中的方法参数。