Java Http状态400-客户端发送的请求在语法上不正确。春季MVC
我在这个问题上花了很多时间,但无法解决它。请帮忙!当我从JSP提交表单时,我得到了这个错误。 我的代码:Java Http状态400-客户端发送的请求在语法上不正确。春季MVC,java,spring,jsp,spring-mvc,Java,Spring,Jsp,Spring Mvc,我在这个问题上花了很多时间,但无法解决它。请帮忙!当我从JSP提交表单时,我得到了这个错误。 我的代码: 姓名: 年份: ${s.name} 和我的控制器代码: @RequestMapping(value = "", method = RequestMethod.GET) public String albumsGET(ModelMap map) { List<Album> albums = albumDAO.getAllAlbums(); map.addAtt
姓名:
年份:
${s.name}
和我的控制器代码:
@RequestMapping(value = "", method = RequestMethod.GET)
public String albumsGET(ModelMap map) {
List<Album> albums = albumDAO.getAllAlbums();
map.addAttribute("albums", albums);
return "forward:/Albums.jsp";
}
@RequestMapping(value = "/add", method = RequestMethod.GET)
public String albumsAddGET(ModelMap map) {
map.put("singers", singerDAO.getAllSingers());
return "forward:/WEB-INF/Pages/Album/AddAlbum.jsp";
}
@RequestMapping(value = "/add", method = RequestMethod.POST)
public String albumsPOST(@ModelAttribute Album album, HttpServletRequest req) {
Singer s = singerDAO.getSingerById(Long.valueOf(req.getParameter("singer")));
s.getAlbumList().add(album);
album.setSinger(s);
singerDAO.updateSinger(s);
return "redirect:/albums";
}
@RequestMapping(value=”“,method=RequestMethod.GET)
公共字符串albumsGET(模型映射){
List albums=albumDAO.getAllAlbums();
map.addAttribute(“相册”,相册);
返回“转发:/Albums.jsp”;
}
@RequestMapping(value=“/add”,method=RequestMethod.GET)
公共字符串albumsAddGET(模型映射){
map.put(“singers”,singerDAO.getAllSingers());
返回“转发:/WEB-INF/Pages/Album/AddAlbum.jsp”;
}
@RequestMapping(value=“/add”,method=RequestMethod.POST)
公共字符串albumsPOST(@ModelAttribute Album Album,HttpServletRequest req){
Singer s=singerDAO.getSingerById(Long.valueOf(请求getParameter(“Singer”));
s、 getAlbumList().add(相册);
集辛格(s),;
singerDAO.updateSinger(多个);
返回“重定向:/albums”;
}
}您可以抛出spring提供的自定义异常,创建带有@ControllerAdvice注释的类,并抛出带有不同HTTP状态代码的自定义异常,这是HTTP返回代码为400的@ModelAttribute的参数映射错误 导致这种错误的原因是多方面的
相册
对象没有参数名称Album
Obejct时有NULL
值${singers}
,那么应该正确地检查替换值
接下来,在相册对象中,您应该检查getter/setter方法
我本可以解决这个问题,为
对象
(etc.VO)设置默认值,检查您的相册
和歌手
实体,如果它与表单正确匹配。
@RequestMapping(value = "", method = RequestMethod.GET)
public String albumsGET(ModelMap map) {
List<Album> albums = albumDAO.getAllAlbums();
map.addAttribute("albums", albums);
return "forward:/Albums.jsp";
}
@RequestMapping(value = "/add", method = RequestMethod.GET)
public String albumsAddGET(ModelMap map) {
map.put("singers", singerDAO.getAllSingers());
return "forward:/WEB-INF/Pages/Album/AddAlbum.jsp";
}
@RequestMapping(value = "/add", method = RequestMethod.POST)
public String albumsPOST(@ModelAttribute Album album, HttpServletRequest req) {
Singer s = singerDAO.getSingerById(Long.valueOf(req.getParameter("singer")));
s.getAlbumList().add(album);
album.setSinger(s);
singerDAO.updateSinger(s);
return "redirect:/albums";
}