Получение данных по форме и передача в контроллер - PullRequest
0 голосов
/ 19 июня 2019

Я хочу принять идентификатор в качестве ввода пользователем и передать его контроллеру для получения данных определенного идентификатора

, это работает, когда я передаю идентификатор вручную в URL - http://localhost:8080/student/1


<form th:action="@{{student}/{id}}" th:object="${Student}" method="post">
                    Roll Number:<br>
                    <input type="text" th:field="*{id}"><br>
                    <br><br>
                    <input class="button" type="submit" value="Submit">
 </form>

@GetMapping(value = "/student/{id}")
    public Optional<Student> getStudentDetail(@PathVariable int id){
        return studentRepository.findById(id) ;
    }

Страница ошибки Whitelabel Это приложение не имеет явного сопоставления для / error, поэтому вы видите это как запасной вариант.

Ср 19 июня 11:04:22 IST 2019 Произошло неожиданноеошибка (тип = Внутренняя ошибка сервера, статус = 500).Произошла ошибка при разборе шаблона (template: "ресурс пути к классу [templates / student.html]")

Ответы [ 3 ]

0 голосов
/ 19 июня 2019

изменить как AmirBll сказал, Также , вы должны изменить свой контроллер HTTP метод с @GetMapping(value = "/student/{id}") на @PostMapping(value = "/student/{id}") на form dataотправка POST метод, который вы объявили в форме.

0 голосов
/ 19 июня 2019

В атрибуте формы вы использовали method = "post", а в классе контроллера вы используете @GetMapping.Используйте это

<input type="text" th:field="*{id}">

вместо

<input type="text" th:="*{id}"><br>

Также выполните получение / установку атрибутов id в классе Student

0 голосов
/ 19 июня 2019

вы должны использовать th:field для <input>:

<input type="text" th:field="*{id}">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...