0

私は助けが必要です。

別のメソッドから 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

}

4

0 に答える 0