springmvc,在更新页面,输入时报丢失参数, Missing URI template variable 'id ' for method parameter of type Integer

原因是,在控制器中,写入参后,多了一个空格。且入参时,不再需要实体bean,若有,报错。

如下:

@RequestMapping("/zhouyiAuthorModify/{id}")
    public ModelAndView zhouyiAuthorModify(@PathVariable("id ") Integer id,ZhouyiAuthor zhuoyiAuthor) {   //多了一个空格。另外入参也有问题,不能把zhuoyiAuthor作为入参。
        ModelAndView mv = new ModelAndView("zhouyiAuthorModify");
        mv.addObject("zhouyiAuthor",zhouyiAuthorService.getZhouyiContentAuthorById(id) );
        return mv;
    }

报错为:

 Missing URI template variable 'id' for method parameter of type Integer

正确的代码如下:

@RequestMapping("/zhouyiAuthorModify/{id}")
    public ModelAndView zhouyiAuthorModify(@PathVariable("id") Integer id) {
        ModelAndView mv = new ModelAndView("zhouyiAuthorModify");
        mv.addObject("zhouyiAuthor",zhouyiAuthorService.getZhouyiContentAuthorById(id) );
        return mv;
    }

在入参时,因为有id作为唯一键,不用再传入bean了,直接查找就可。如果再传入实体bean,会报告错误,参数id异常。

原文地址:https://www.cnblogs.com/sdgtxuyong/p/12192663.html