Как обрабатывать две разные операции отправки из одной и той же формы в контроллере пружины - PullRequest
5 голосов
/ 12 июля 2011

У меня есть две кнопки отправки в моем JSP добавить, удалить. Я действительно не знаю, как дифференцировать операции на стороне контроллера.

<form:form modelAttribute="emp" action="/empl" method="POST"> 
    <input type="submit" name="operation" value="Remove"/>
    <input type="submit" name="operation" value="Add" />
</form:form>

@RequestMapping(value = "/empl", method = RequestMethod.POST)
public String getD(@Valid Em form, BindingResult result, Model model) {//code}

Нажатие любой из кнопок правильно отправляет значения вместе с «операцией добавления» или «операцией удаления» соответственно, а затем добавляет работы, потому что это вызываемый по умолчанию метод. Теперь, как мне поймать параметр операции, дифференцировать операцию и использовать ее?

1 Ответ

6 голосов
/ 12 июля 2011

Браузер предоставит параметр запроса, содержащий имя нажатой кнопки отправки.Затем вы можете использовать их для фильтрации:

@RequestMapping(value="/empl", method=RequestMethod.POST, params="operation=Remove")
public String remove(@Valid Em form, BindingResult result, Model model)

@RequestMapping(value="/empl", method=RequestMethod.POST, params="operation=Add")
public String add(@Valid Em form, BindingResult result, Model model)

Каждый из них может затем вызывать разделяемую логику по мере необходимости.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...