我有以下问题。我正在尝试在控制器中处理两个不同的动作映射。一个是按下按钮时触发,另一个是点击链接时触发。 不幸的是,两个动作都会触发“buttonAction”。我不知道如何强制链接来触发“linkAction”。
这是我的代码:
JSP:
<portlet:actionURL name="buttonAction" var="buttonActionUrl" ></portlet:actionURL>
<portlet:actionURL name="linkAction" var="linkActionUrl"></portlet:actionURL>
<form:form id="form" modelAttribute="model" method="POST" action="${buttonActionUrl}">
<a id="link" href="#" onclick="linkClick();"></a>
<button id="button" onclick="buttonClick();" type="submit"></button>
</form:form>
使用Javascript:
function linkClick() {
window.location = '${ linkActionUrl }';
}
function buttonClick() {
$('#form').submit();
}
爪哇;
@ActionMapping("buttonAction")
public void buttonAction(@ModelAttribute("model") Model model, BindingResult result, ActionRequest request, ActionResponse response, ModelMap modelMap) {
}
@ActionMapping("linkAction")
public void linkAction(@ModelAttribute("model") Model model, BindingResult result, ActionRequest request, ActionResponse response, ModelMap modelMap) {
}
答案 0 :(得分:1)
提交按钮的onclick处理程序是多余的,因为提交将为您执行此操作。
此外,对于您的链接,可能只需更改为:
<a id="link" href="${linkActionUrl}">foo</a>