Получение UnsatisfiedServletRequestParameterException при попытке отключить кнопку отправки с помощью jquery - PullRequest
0 голосов
/ 03 июня 2019

У меня одна форма с несколькими кнопками отправки, каждая из которых выполняет отдельную функцию, например:

  • Поиск
  • Обновление
  • Добавить
  • Удалить

Все действия выполняются в режиме POST и используют атрибут name в теге кнопки, сопоставленном с параметрами на стороне контроллера. Пока все работает нормально. Теперь мне нужно отключить нажатие кнопки, когда форма отправляется, а на стороне сервера обновления БД завершаются и сервер отвечает обратно.

Итак, используя jquery, я добавил код ниже, и он перестал работать.

JS

$('form').submit(function(e) {
   $(this).find("button[type='submit']").attr('disabled',true);
});

HTML

<form id="formSecurity"
    th:action="@{/security}" th:object="${securityDTO}" method="POST">
    <div class="form-group col-md-6">
        <div class="input-group">
            <input class="form-control" type="text" th:field="*{secId}" id="secId" placeholder="Find by SecId..." />
            <div class="input-group-append">
                <button class="btn btn-primary" name="search" type="submit">Search</button>
            </div>
        </div>
        ...
    </div>
    ...
</form>

Контроллер

@PostMapping(value="/security", params={"search"})
    public String searchSecurity(final SecurityDTO securityDTO, final BindingResult result, Model model) {
    ...
}

@PostMapping(value="/security", params={"update"})
    public String searchSecurity(final SecurityDTO securityDTO, final BindingResult result, Model model) {
    ...
}

@PostMapping(value="/security", params={"addRow"})
    public String searchSecurity(final SecurityDTO securityDTO, final BindingResult result, Model model) {
    ...
}

@PostMapping(value="/security", params={"removeRow"})
    public String searchSecurity(final SecurityDTO securityDTO, final BindingResult result, Model model) {
    ...
}

Но теперь похоже, что name params не отправляется. И я получаю ошибку ниже:

WARN 16660 --- [nio-8989-exec-8] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.web.bind.UnsatisfiedServletRequestParameterException: Parameter conditions "search" OR "update" OR "addRow" OR "removeRow" not met for actual request parameters: secId={1234}]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...