2016-04-18 4 views
1

Ich habe versucht, auf StackExchange zu suchen und schaute auch auf andere Orte mit Google und der Thymeleaf-Referenz. Es scheint so, als ob die folgende Syntax funktionieren sollte, aber sie filtert die Liste nicht basierend auf der gegebenen Bedingung.So filtern Sie eine Liste von Objekten in Thymeleaf auf einem Objekt Eigenschaft

<th:block th:each="dayNumber :${#numbers.sequence(1,7)}"> 
    <p th:if="${#lists.isEmpty(storeHours.?[#this.dayOfWeek eq #dayNumber])}" th:text="${dayNumber}"></p> 
</th:block> 

Oben versuchen wir, einen ziemlich einfachen Filter zu machen. Die storeHours ist eine Liste von Shop-Stunden-Objekt. Jedes Objekt hat eine Eigenschaft namens dayOfWeek. Es ist eine ganze Zahl. Oben versuche ich, die fehlende Nummer einfach auszudrucken. Es wird jedoch alle 7 Tage gedruckt.

Ich bin sicher, dass ich hier etwas sehr Grundlegendes vermisse.

Jede Hilfe wird geschätzt.

+0

Ich denke, Antwort, die ich gepostet und gelöscht nicht passend für Ihre Frage .. Seltsam, aber in [das offizielle Tutorial] (http://www.thymeleaf.org/doc/tutorials/2.1/usingthymeleaf.html#lists) Wo sind keine Informationen zu dieser Funktion? Ehrlich gesagt, ich sah diese Funktion zum ersten Mal: ​​0 – sanluck

Antwort

0

diesen Code Versuchen:

<th:block th:each="dayNumber :${#numbers.sequence(1,7)}"> 
    <p th:if="${#lists.isEmpty(storeHours.?[dayOfWeek.equals(dayNumber)])}" th:text="${dayNumber}"></p> 
</th:block> 

Vielleicht müssen Sie überprüfen Ihre storeHours nicht leer ist?
Dann ${not #lists.isEmpty(...)}.

+0

Danke, warum würde der Filter nicht funktionieren? Gibt es einen Unterschied zwischen der equals-Implementierung und eq im Filter? – sohail

+0

Vielen Dank. Der von Ihnen gepostete Code funktioniert. Wir brauchen nicht "nicht", denn wenn die Bedingung übereinstimmt, ist die Liste nicht leer und wir müssen in diesem Fall drucken. Es ist interessant, weil "# this.dayOfWeek eq daynNumber" eine Ausnahme auslöst. – sohail

+0

Gern geschehen. Danke - Ich habe eine neue nette Funktion von Thymeleaf gelernt :) – sanluck

Verwandte Themen