Como fazer um loop no thymeleaf percorrendo um intervalo de datas?
Algo como
for (LocalDate date = dataDe; date.isBefore(dataAte); date = date.plusDays(1))
{
}
?
Como fazer um loop no thymeleaf percorrendo um intervalo de datas?
Algo como
for (LocalDate date = dataDe; date.isBefore(dataAte); date = date.plusDays(1))
{
}
?
Olá Dov, tudo bem?
Para percorrer um intervalo de datas no Thymeleaf, você pode utilizar a biblioteca Java 8 Time, que permite trabalhar com datas e horários de forma mais eficiente.
Para isso, você pode criar uma variável no seu controller que armazena uma lista de datas entre as duas datas desejadas, e então utilizar um loop no Thymeleaf para exibir cada uma dessas datas.
Segue um exemplo de como fazer isso:
No seu controller:
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;
// ...
LocalDate dataDe = LocalDate.of(2021, 10, 1);
LocalDate dataAte = LocalDate.of(2021, 10, 10);
List<LocalDate> datas = new ArrayList<>();
for (LocalDate date = dataDe; date.isBefore(dataAte); date = date.plusDays(1)) {
datas.add(date);
}
model.addAttribute("datas", datas);
No seu template Thymeleaf:
<ul>
<li th:each="data : ${datas}" th:text="${data}"></li>
</ul>
Esse código irá criar uma lista com as datas entre 01/10/2021 e 10/10/2021 e exibi-las em uma lista não ordenada no seu template.
Espero ter ajudado e bons estudos!