Когда я использую такой ввод, у меня нет проблем:
<input type = "text" name = "title" />
Но если я поставлю th:name на место, я получу ошибку 500:
<input type = "text" th:field = "${title}"/>
Começo a tomar erro 500, conforme abaixo
Вот репозиторий git: https://github.com/getJv/springStudy
Вот ошибка:
Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.
Thu Feb 07 23:03:56 BRST 2019
There was an unexpected error (type=Internal Server Error, status=500).
An error happened during template parsing (template: "class path resource [templates/books/form.html]")
org.thymeleaf.exceptions.TemplateInputException: An error happened during template parsing (template: "class path resource [templates/books/form.html]")
См. Документация Тимелеафа здесь
th:поле используется для автоматического заполнения значения при соединении с th: объект с переменной контекста.
Если вы хотите отображать имя тега динамически, вместо этого следует использовать й:имя.
BookController.java
Book book = new Book();
book.setTitle("Winnie the Pooh");
ModelAndView mv = new ModelAndView("book/form");
mv.addObject("book", book);
Лист тимьяна:
<form th:object = "${book}">
<input type = "text" th:field = "*{title}">
</form>
Чем ты. это Спаси мою жизнь. :D
О, Крис, это действительно работает. но теперь у меня есть сомнения... поэтому когда-нибудь я захочу использовать th:object/field в m формах, мне нужно будет создать новый пустой экземпляр моего класса основной формы? что-то вроде этих?
@RequestMapping("/form") public ModelAndView form() { ModelAndView mv = new ModelAndView("books/form"); Book book = new Book(); mv.addObject("book", book); mv.addObject("priceTypes", PriceType.values()); return mv; }