Ich benutze jpenren des Thymeleaf Spring Data Dialect: https://github.com/jpenren/thymeleaf-spring-data-dialectWie verwende ich Thymelefs # lists.isEmpty mit Spring Data's Page interface?
Nach seinem letzten Rat:
standardmäßig SpringDataDialect Suche in der Anforderung für das Attribut "Seite" oder wenn ein Attribut vom Typ org.springframework .data.domain.Page existiert. Um ein anderes Modell Attribute zu verwenden, verwendet sd: page-Objekt = "$ {attrName}"
ich etwas tun, wie dies in meinem Frühling Controller:
@RequestMapping("search")
public String search(Model model, @PageableDefault Pageable pageable) {
Page<User> users = userRepository.findAll(pageable);
model.addAttribute("users", users);
return "user/search";
}
und in meiner search.html
Ansicht, hier ist ein Auszug:
<table class="table">
<caption class="text-xs-center" th:if="${#lists.isEmpty(users)}">No user found</caption>
<thead>
<tr>
<th>Username</th>
(...)
<tbody>
<tr th:each="user : ${users}">
<td th:text="${user.name}">Username</td>
Leider funktioniert die ${#lists.isEmpty(users)}
nicht. Es funktioniert auf anderen Seiten, wo ich dieses Page<?>
nicht verwende.
Also, wie mache ich diesen Test?
Ich bin mir nicht sicher, ob ich die Verbindung bekomme. Sie beziehen sich zuerst auf den Spring Data Thymeleaf-Dialekt, verwenden ihn dann aber nicht. Der Beispielcode zeigt auch eine andere Variable, die im Listenausdruck verwendet wird, nicht "Benutzer". Page hat eine Methode 'getContent()', die eine 'List' zurückgibt, also sollte' page.content' an den Listenausdruck übergeben werden. –
Ich benutze die Paginierung, aber es bringt nichts hier, weil es nur etwas wie '' '' Auch habe ich den Code, die richtige Variable ist in der Tat '' Benutzer ' '. – maxxyme
Wie Sie gesagt haben, ist die Verwendung von getContent() nützlich: Ich war erfolgreich mit '' th: if = "$ {# lists.isEmpty (users.content)}" ''. – maxxyme