У меня есть этот контроллер:
@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».
Есть идеи, как это сделать? Спасибо!