У меня есть таблица jpa Entiy с столбцом id и name. Я хочу отобразить значения имен в представлении тимелеафа. Сейчас я могу видеть объект Entity в представлении, но не значения столбца для имени. Вот как я создал таблицу и определены методы получения и установки:Отображение данных таблицы сущностей JPA на вид тимелеафа
@Entity
@Table(name = "Book")
public class Book extends AbstractPersistable<Long> {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id")
private Long id;
@Column(name = "name")
private String name;
public Long getID() {
return this.id;
}
public String getContent() {
return this.name;
}
public void setID (Long id) {
this.id = id;
}
public void setContent (String name) {
this.name = name;
}
}
От контроллера это то, как я пытаюсь установить содержание: `
@Controller
@RequestMapping("/")
public class BookController {
@Autowired
private BookRepository bookRepository;
@RequestMapping("/addBook")
@ResponseBody
public String addBook(@RequestParam("name") String name) {
Book book = new Book();
book.setContent(name);
bookRepository.save(book);
return name;
}
@RequestMapping(value = "book", method = RequestMethod.GET)
public String books(Model model) {
model.addAttribute("books", bookRepository.findAll());
return "book";
}
}
Шаблон вид thymeleaf:
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org"
xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity3" xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"> <head lang="en"> <meta charset="UTF-8" /> <title>Books</title> </head> <body> <h1>Books Database</h1> <ul th:each="book : ${books}"> <li th:text="${book.name}"></li> </ul>
</body> </html>
Когда я добавляю новые книги со страницы addBook и посещаю страницу книги, чтобы увидеть имена книг, я получаю эту ошибку: Исключение, оценивающее выражение SpringEL: «book.name». В консоли IDE ошибка найдена как: org.springframework.expression.spel.SpelEvaluationException: EL1008E: свойство или поле 'name' не могут быть найдены на объекте типа sec.book.BookNames. Что может быть неправильным?
В представлении, если я использую th: text = "$ {book}, тогда список объектов Entity выглядит так, как это для каждой строки из таблицы. Это то, что показано: Entity типа sec.helloworld.Book with ID:..?. пустой
Я просто хочу, названия книг, чтобы показать не предметы Как я должен сделать это заранее спасибо за ваше время
благодарит вас за ваш ответ. id меняет их, и теперь он работает отлично. Я получаю все названия книг в списке. Я отвечу на вопрос как можно скорее. – Gustav