0

私はチュートリアルに従っており、次の方法があります。

@RequestMapping(value = "/viewstatus", method = RequestMethod.GET)
    ModelAndView viewStatus(ModelAndView modelAndView, int pageNumber) {

        System.out.println();
        System.out.println("===========" + pageNumber + "===========");
        System.out.println();

        modelAndView.setViewName("app.viewStatus");

        return modelAndView;
    }

ただし、に行くとhttp://localhost:8080/viewstatus?p=11、次のエラーが表示されます。

Optional int parameter 'pageNumber' is present but cannot be translated into a null value due to being declared as a primitive type. Consider declaring it as object wrapper for the corresponding primitive type.

intパラメータをに変更しましLongたが、同じページに移動すると、コンソールに次の出力が表示されます。

===========null===========

パラメータがnullなので基本的には認識されていないのですが、チュートリアルを文字どおり進めている限り、私のコードに問題はありませんか?

4

3 に答える 3

0

@RequestParamurl 変数をメソッド引数にマップする注釈を追加します

public ModelAndView viewStatus(ModelAndView modelAndView, 
                               @RequestParam("p") int pageNumber) {
于 2016-09-11T22:16:46.793 に答える
0

@RequestParamパラメータの型と名前の前に、メソッドの署名で使用します。名前は url パラメータと一致する必要があります。プリミティブ型は null 値をサポートしていないため、Wrapper クラスを使用する必要があることに注意してください。

于 2016-09-11T22:19:10.920 に答える