可选的int参数' page'存在但由于被声明为基本类型而无法转换为空值。

时间:2015-07-04 18:10:37

标签: java angularjs spring-boot

我正在开发一个带有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>

有什么想法吗?

1 个答案:

答案 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注释将请求参数绑定到控制器中的方法参数。