Html th:每个循环都不工作
我对th:每个都有问题。它不会循环。我尝试了很长一段时间来修复它,我搜索了很多有相同问题的主题,但仍然不起作用。所以我在这里询问如何修复它的信息 网页上的列表(第一个和第二个)中没有显示任何内容,因此我认为这是错误的Html th:每个循环都不工作,html,spring,jpa,thymeleaf,Html,Spring,Jpa,Thymeleaf,我对th:每个都有问题。它不会循环。我尝试了很长一段时间来修复它,我搜索了很多有相同问题的主题,但仍然不起作用。所以我在这里询问如何修复它的信息 网页上的列表(第一个和第二个)中没有显示任何内容,因此我认为这是错误的 <ul th:each="author : ${book.authors}"> }要显示书籍的属性(如getAuthorsN()),您应该遍历书籍列表,而不是作者,例如: <ul th:each="book : ${author.books}">
<ul th:each="author : ${book.authors}">
}要显示
书籍的属性(如getAuthorsN()
),您应该遍历书籍
列表,而不是作者
,例如:
<ul th:each="book : ${author.books}">
<li>First</li>
<li>Second</li>
<li th:text="${book.getAuthorsN()}">Author</li>
</ul>
阅读有关的更多信息。调试告诉您什么?是否正确地从数据库检索数据?查看了JPA提供商的日志?好的,调试告诉我mappedBy引用了未知的目标实体属性,因此我将@ManyToMany(mappedBy=“authors”)更改为@ManyToMany(mappedBy=“books”),但仍然不起作用,调试现在不显示任何错误。控制器补充道:“请检查控制器。”
@ManyToMany
@JoinTable(name = "author_books",
joinColumns = @JoinColumn(name = "book_id"),
inverseJoinColumns = @JoinColumn(name= "author_id"))
private Set<Book> books = new HashSet<>();
<td>
<ul th:each="author : ${book.authors}">
<li>First</li>
<li>Second</li>
<li th:text="${book.getAuthorsN()}">Author</li>
</ul>
</td>`
@Controller
public class BooksController {
private final BookService bookService;
public BooksController(BookService bookService) {
this.bookService = bookService;
}
@RequestMapping("/books/home")
public String showBooks(Model model){
model.addAttribute("books", bookService.getBooks());
return "books/home";
}
<ul th:each="book : ${author.books}">
<li>First</li>
<li>Second</li>
<li th:text="${book.getAuthorsN()}">Author</li>
</ul>
@JoinTable(name = "author_books",
joinColumns = @JoinColumn(name = "author_id"),
inverseJoinColumns = @JoinColumn(name= "book_id"))