2011-07-12 23 views
5

我在JSP中添加,刪除了兩個提交按鈕。我真的不知道如何區分控制器端的操作。如何在彈簧控制器中處理來自同一表單的兩個不同的提交操作

<form:form modelAttribute="emp" action="/empl" method="POST"> 
    <input type="submit" name="operation" value="Remove"/> 
    <input type="submit" name="operation" value="Add" /> 
</form:form> 

@RequestMapping(value = "/empl", method = RequestMethod.POST) 
public String getD(@Valid Em form, BindingResult result, Model model) {//code} 

分別任一按鈕柱值正確地伴隨着「操作添加」或「操作刪除」的ONCLICK,然後添加的作品,因爲這是被稱爲默認方法。現在我該如何捕捉操作參數並區分操作並使用它?

回答

6

瀏覽器將提供一個請求參數,其中包含按下的提交按鈕的名稱。然後,您可以使用它們進行過濾:

@RequestMapping(value="/empl", method=RequestMethod.POST, params="operation=Remove") 
public String remove(@Valid Em form, BindingResult result, Model model) 

@RequestMapping(value="/empl", method=RequestMethod.POST, params="operation=Add") 
public String add(@Valid Em form, BindingResult result, Model model) 

然後,每一個都可以根據需要調用共享邏輯。

+0

嘿,它的工作原理!非常感謝你 :) – sara

相關問題