原因是,在控制器中,寫入參后,多了一個空格。且入參時,不再需要實體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異常。
