Spring MVC senden via javascript (ohne Taste), um den richtigen handler

Ich habe diesen Controller :

@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...
    }
}

und diese 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>

Dieser code funktioniert einwandfrei, wenn ich auf den "Seite neu Laden" - Taste, die reloadPageHandler genannt wird.

Nun was ich erreichen will, ist zum entfernen dieser Schaltfläche und setzen Sie ein onchange-Ereignis auf meiner jsp-wie diese :

<form:select path="searchCriteria.departmentId" onchange="submit()">
    <form:options items="${addressDepartmentList}" itemValue="id" itemLabel="name" />
</form:select>

Hier das problem, dass wenn das Formular abgeschickt wird, ist es die "processSubmit" - handler, der aufgerufen wird. Aber ich habe zu nennen die "reloadPageHandler".

Jede Idee, wie dies zu tun ? Danke !

Schreibe einen Kommentar