2015-02-23 93 views
0

我有以下問題。我試圖在控制器中處理兩個不同的動作映射。一個是按下按鈕時觸發,另一個是點擊鏈接時觸發。 不幸的是,這兩個動作觸發「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(); 
} 

的Java;

@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) { 
} 

回答

1

提交按鈕的onclick處理程序是多餘的,因爲提交會爲您執行此操作。

而且,你的鏈接,也許只是更改爲類似:

<a id="link" href="${linkActionUrl}">foo</a>