2014-02-21 25 views
0

我想以簡單的方式將許多@RequestParam註釋參數傳遞給Model對象。Spring MVC簡單的方法將@RequestParam註釋參數傳遞給模型

目前,我看到了兩個備選方案:

  1. 您可以通過手(不那麼容易,下面的例子)
  2. 您可以創建相關參數的命令對象,該對象傳遞給你的模型做。

我正在尋找第三種方法,這將自動爲我執行此操作。

@RequestMapping 
public void handle(@RequestParam String p1, @RequestParam String p2, 
     @RequestParam String p3, @RequestParam String p4, Model model) { 
    model.addAttribute("p1",p1); 
    model.addAttribute("p2",p2); 
    model.addAttribute("p3",p3); 
    model.addAttribute("p4",p4); 
} 

我需要這個的主要原因是爲了在發生錯誤時很容易地將POST處理程序中的參數傳遞給flash屬性。

更新: @ModelAttribute方法(或指定一個bean沒有它,我認爲,他們基本上當你不給@ModelAttribute值相同)實際上是我在問題中提到的第二種方法。我正在尋找除了我提到的方法之外的其他方法。

+0

可能是有趣:http://stackoverflow.com/questions/9686219/spring-mvc-keep-request-parameters-after-redirect –

回答

0

我會這樣做。凡爲P是一個Java bean該請求的參數

@RequestMapping 
    public ModelAndView handle(@ModelAttribute("p") P p) 
    { 
     if (validationerror){ 
      return new ModelAndView("index","p",p); 
     } 
     return new ModelAndView("success"); 
    }