#java #spring-boot #vue.js #jsp #post
#java #пружинная загрузка #vue.js #jsp #Публикация
Вопрос:
У меня такая проблема. Когда я нажимаю на кнопку поиска, код работает нормально, но когда я нажимаю enter, возникает исключение HttpRequestMethodNotSupportedException. Я знаю, что у меня нет контроллера POST, но он мне не нужен в любое время для кнопки поиска. Чего мне не хватает?
<form method="post" @keypress.enter="search">
<div class="card mb-3">
<div class="card-body">
<div class="form-row">
<div class="form-group col-md-4 required">
<label for="id">Id</label>
<input type="text" v-model="model.id" name="id" id="id" class="form-control" maxlength="50" >
</div>
</div>
<button type="button" id="btnSearch" class="btn btn-primary" @click="search">
<i class="fa fa-search" aria-hidden="true"></i>
Search
</button>
</div>
</div>
</form>
Комментарии:
1. Ну? У вас есть две
@GetMapping
буквы s, и ни одна из них не была показана@PostMapping
.2. Да, если вы нажмете кнопку поиска, код будет работать нормально, даже без удаления @PostMapping. Ошибка просто выдает, затем вы нажимаете клавишу ввода вместо того, чтобы нажимать кнопку. Так почему же один просит об этом, а другой нет?
3. Всегда начинайте отладку с границ. В данном случае это означает запрос REST между вашим браузером и серверной частью. Проверьте вкладку Сеть вашего браузера, убедитесь, что запрос отправляется на сервер, как вы ожидаете, и используйте такие инструменты, как curl или Postman, чтобы напрямую связаться с сервером и заставить его делать то, что вы хотите.
4. Попробуйте разделить ваш код на разные файлы. Какая часть является JSP, а какая — контроллером Java
Ответ №1:
Добавьте атрибут @keypress.enter.prevent
в свое input
поле