0
我有這樣的控制器:Spring MVC中通過JavaScript提交(無按鈕)正確處理
@Controller
@RequestMapping("/path/*")
public class MyController {
@RequestMapping(value = "/", method = RequestMethod.GET)
public String welcomeHandler(final Model model) {
// SOME CODE...
}
@RequestMapping(params = "reloadPage", value = "/", method = RequestMethod.POST)
public String reloadPageHandler(final Model model) {
// SOME CODE...
}
@RequestMapping(params = "search", value = "/", method = RequestMethod.POST)
public String processSubmit(final BindingResult result...)
// SOME CODE...
}
}
和這個JSP:
<form:form id="SearchFormController" method="post" modelAttribute="SearchFormBean">
<form:select path="searchCriteria.departmentId">
<form:options items="${addressDepartmentList}" itemValue="id" itemLabel="name" />
</form:select>
<p>
<button type="submit" name="reloadPage">Reload the page</button>
</p>
<form:select path="searchCriteria.cityId">
<form:options items="${addressCityList}" itemValue="id" itemLabel="name" />
</form:select>
<p>
<button type="submit" name="search">Submit</button>
</p>
</form:form>
此代碼工作完全正常,當我點擊「重新載入頁面」按鈕,調用reloadPageHandler。
現在我想達到的目標,是消除此按鈕,把一個onchange事件對我的JSP中:
<form:select path="searchCriteria.departmentId" onchange="submit()">
<form:options items="${addressDepartmentList}" itemValue="id" itemLabel="name" />
</form:select>
這裏的問題是,提交表單時,它的「processSubmit」被稱爲的處理程序。但我必須調用「reloadPageHandler」。
任何想法如何做到這一點?謝謝 !
感謝您的快速回答:)不幸的是,如果將隱藏的字段放在表單中,它不起作用:選擇標籤,選擇列表不顯示:( –
對不起,我犯了一些愚蠢的錯誤:(我剛剛糾正了答案。讓我知道如果仍然不會工作。 – user1078445
現在它工作正常,除了第二次提交按鈕:。我想我必須用javascript函數替換它,我會嘗試一下你給我的提示,看看我能不能使它工作 –