Java 可选的int参数';第'页;存在,但由于被声明为基元类型,因此无法转换为null值。

Java 可选的int参数';第'页;存在,但由于被声明为基元类型,因此无法转换为null值。,java,angularjs,spring-boot,Java,Angularjs,Spring Boot,我正在用spring boot和angular Js开发一个web应用程序,我想在我的界面上添加分页,但它给了我标题中提到的错误:可选的int参数“page”存在,但由于被声明为基元类型,无法转换为null值。考虑将其声明为对应的基元类型的对象包装器。 这是我的java控制器 @RequestMapping(value="/getReports",method=RequestMethod.GET) public Page<DetailsReport> getTables(in

我正在用spring boot和angular Js开发一个web应用程序,我想在我的界面上添加分页,但它给了我标题中提到的错误:可选的int参数“page”存在,但由于被声明为基元类型,无法转换为null值。考虑将其声明为对应的基元类型的对象包装器。

这是我的java控制器

@RequestMapping(value="/getReports",method=RequestMethod.GET)
    public Page<DetailsReport> getTables(int page){
        return detailsReportRepository.findAll(new PageRequest(page,5));
    }
$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>

  • {{{$index}

有什么想法吗?

你忘了放@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));
    }
@RequestMapping(value=“/getReports”,method=RequestMethod.GET)
公共页面getTables(@RequestParam(value=“pageNumber”,required=false)int Page){
返回detailsReportRepository.findAll(新页面请求(第5页));
}

您需要使用@RequestParam注释将请求参数绑定到控制器中的方法参数。

您忘记放置@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));
    }
@RequestMapping(value=“/getReports”,method=RequestMethod.GET)
公共页面getTables(@RequestParam(value=“pageNumber”,required=false)int Page){
返回detailsReportRepository.findAll(新页面请求(第5页));
}

您需要使用@RequestParam注释将请求参数绑定到控制器中的方法参数。

将您的参数声明为
Integer
,并在使用前检查它是否为
null
。这不起作用。我按照教授的课程进行操作,他将页面声明为int而不是Integer,我认为问题不在那里!然后在您的请求中发送一个页面。这是一个输入错误吗?$sope.pageCourante?我测试它时,该请求起作用了,例如,$scope.pageCourante被初始化为0是,如果您没有提供
页面
值,则会发生错误。请将您的参数声明为
整数
,并在使用它之前检查它是否为
。它不起作用。我遵循教授的课程,他将页面声明为int而不是整数,我认为问题不存在!然后在您的请求中发送一个页面。这是一个输入错误吗?
$sope.pageCourante
?我测试它时,该请求起作用。例如,$scope.pageCourante初始化为0是,当您不提供
页面
值时会发生错误。