私は助けが必要です。
別のメソッドから ModelAndView で get メソッドを呼び出した場合、Post メソッドは実行されません。
mapping2 の Get メソッドにはデータ (ModelAttribute から取得) が正しく取り込まれますが、フォームの [送信] ボタンを押すと、mapping2 の post メソッドが実行されません。常にGETメソッドを実行しています。
Url は mapping1 で、mapping2 に変更されていません。mapping1 の内容として、mapping2 の jsp のみが表示されます。
ポストメソッドを実行する方法を知っていますか?
以下のコントローラーからのコード。
@RequestMapping(value = "/mapping1", method = RequestMethod.POST)
public ModelAndView addItem(
@RequestParam(value = "year", required = true) final BigDecimal year,
@ModelAttribute("item") final Item item,
final HttpServletRequest request) {
ModelAndView mav = new ModelAndView("mapping2");
mav.addObject("item", item);
return mav;
}
@RequestMapping(value = "/mapping2", method = RequestMethod.GET)
public Item addItemConfirmation(
@ModelAttribute("item") final Item item,
final HttpServletRequest request) {
return item;
}
@RequestMapping(value = "/mapping2", method = RequestMethod.POST)
public String addItemConfirmation(
@ModelAttribute("Item") final Item item,
final HttpServletRequest request) {
operations on item...
itemDAO.persist(item);
return "redirect:/itemAddSuccess
}