Кажется, что это не действительные теги HTML во втором случае. Ваш <a>
никогда не закрывается. Кроме того, вам, вероятно, следует избегать использования таких вещей, как <b>
, поскольку это очень запутанно (это устаревший способ выделять жирный текст). Удалите все эти типы тегов, так как это недопустимый HTML или просто сбивает с толку.
Кроме того, хотя это будет работать, наименование th:each
будет обратным. Вы должны проходить несколько рейсов и указывать только один рейс:
Контроллер:
model.addAttribute("currency", flightDTO.getCurrency());
model.addAttribute("flights", cheapFlyService.flightList(output));
model.addAttribute("numbers", cheapFlyService.flightNumberList(output));
model.addAttribute("returns", cheapFlyService.returnAtList(output));
model.addAttribute("departures", cheapFlyService.departureAtList(output));
model.addAttribute("prices", cheapFlyService.priceList(output));
HTML:
<th:block th:each="flight : ${flights}">
<span th:text=${flight.number}" th:remove="tag">[Flight Number]</span> <!-- or whatever property is that the Flight class may have. Note the scoping. -->
</th:block>
Но основная обратная связь заключается в том, что полный HTML-код будет зависеть от того, как у вас смоделированы ваши данные. Например, если у рейса есть свойство, называемое routes
, вы можете выполнить итерацию на routes
с внутренним циклом в Thymeleaf. В противном случае вы добавляете отдельные списки в модель и просто вызываете метод toString
для каждого:
<th:block th:each="departure : ${departures}">
<span th:text=${departure}" th:remove="tag">[This is calling toString() on the objects in the list]</span>
</th:block>
Общий совет по отладке: начните с вещей, которые работают, и постепенно добавляйте. Если что-то сломано и вы потерялись, уберите все, пока оно не заработает, и постепенно добавляйте обратно, пока не найдете виновника (-ов).