我有一个表单:
<form:form id="searchForm" modelAttribute="fbosAttributes" action="result" method="get">
....
</form:form>
在这个表单中,我有两个提交按钮,名称为:
<input type="submit" name="ashtml" value="${labelbuttonhtml}"/>
<input type="submit" name="asexcel" value="${labelbuttonxls}"/>
这两个按钮适用于我的控制器中的不同方法,我使用params
来识别:
@RequestMapping(value="/result.xls", method=RequestMethod.GET, params="asexcel")
问题是如何让按钮对不同的动作做出反应,以及如何在表单中添加两个动作?
使用javascript函数发布表单。您可以在单击按钮时调用两个不同的javascript函数,然后您可以从该函数提交表单。
假设您可以使用Jquery,
HTML
<input type="submit" id = "ashtml" name="ashtml" value="${labelbuttonhtml}"/>
JQuery
$(document).ready(function(){
$("#ashtml").click(function(){
document.searchForm.action = "<%= request.getContextPath()/ashtml.htm %>";
});
});
控制器
@RequestMapping(value="/ashtml.htm", method=RequestMethod.POST)