私はこの問題に多くの時間を費やしましたが、解決できません。助けてください! JSPからフォームを送信すると、このエラーが発生します。 マイコード:HTTPステータス400 - クライアントから送信された要求の構文が正しくありません。 Spring MVC
<form action="/albums/add" method="post">
<%--<div><input type="file"></div>--%>
<div>Name: <input type="text" name="name" placeholder="Name"></div>
<div>Year: <input type="text" name="year" placeholder="Release year"></div>
<div>
<select name="singer" id="singer">
<c:forEach items="${singers}" var="s">
<option value="${s.id}">${s.name}</option>
</c:forEach>
</select>
</div>
<input type="submit" >
そして、私のコントローラのコード:
@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";
}
}
あなた 'Album'と' Singer'エンティティのチェックは、それが適切にフォームと一致している場合。 –