我有一个HTML页面的一个窗体和2个按钮的片段:
<form action="#" data-th-action="@{/action/edit}" data-th-object="${model}" method="post">
<button type="submit" name="action" value="save">save</button>
<button type="submit" name="action" value="cancel">cancel</button>
</form>
以及控制器:
@RequestMapping(value="/edit", method=RequestMethod.POST)
public ModelAndView edit(@ModelAttribute SomeModel model,
@RequestParam(value="action", required=true) String action) {
if (action.equals("save")) {
// do something here
}
if (action.equals("cancel")) {
// do another thing
}
return modelAndView;
}
这很好,但是如果我有更多的按钮,我必须添加更多的if
语句来检查action
字符串。有没有其他方法可以为表单中的每个按钮创建一个操作?
6条答案
按热度按时间oymdgrw71#
您可以使用params变量创建具有不同
@RequestMappings
的单独方法。o75abkj42#
这工程在我的问题。使用th:formactionon submit button这是工作在多少你有submit button和这也是usefull给予更多的链接到一个表单与不同的submit button
epggiuax3#
如果您不想将每个选项都作为一个新的请求Map,那么您可以使用switch case来代替if case。
mznpcxlj4#
对于多个提交按钮,下面的方法对我很有效。* 注意:th:取消按钮中的格式操作。*
对于控制器:
wvt8vs2t5#
HTML代码:
CSS代码:
Here is output:
u7up0aaq6#
您可以知道哪个提交按钮被单击,然后对该按钮执行操作。