2017-02-11 2 views
0

Я хочу создать строковую переменную в тимелеафе путем итерации по контуру и объединения значений в эту строковую переменную. Затем я хочу отобразить эту строку в элементе <span>. Что я хочу, чтобы достичь можно записать в Java следующим образом:Thymeleaf Build-Up a String

String forDisplay = ""; 
foreach (MyObject o : myObjectCollection) { 
    if (o.type == 1) { forDisplay += o.stringValue; } 
} 

Тогда в я хочу, чтобы поместить это в HTML элемент, как пролете. Я знаю, как использовать:

<span th:each="o : ${objectCollection}" th:if="${o.type == 1}" th:text="${o.stringValue}"></span> 

Но это создает <span> для каждого из элементов, которые удовлетворяют условию. Я просто хочу создать свою строку в бесплатном разделе тега th, а затем просто хочу показать свою строку в одном элементе <span>.

ответ

0

Ахмет, посмотрите на Expression Utility Objects for Strings, из документов Тимелеафа.

У вас есть три способа присоединения элементов:

${#strings.arrayJoin(namesArray,',')} // For Arrays 
${#strings.listJoin(namesList,',')} // For Lists 
${#strings.setJoin(namesSet,',')} // For Sets 

Эти вспомогательные объекты предлагает множество интересных методов Aggregation, календари и т.д.

ATT

+0

Я уже видел, что вы предлагаете Заинтересованное; но я просто хотел узнать, возможно ли это с помощью блока кода jsp, такого как опция. Как '<% // Код здесь%>'. Я знаю, что это несколько противоречит философии Тимелеафа, но в некоторых случаях мне нужна такая способность свободного кодирования. Спасибо в любом случае – Ahmet

0

Вот как я присоединяюсь цифры в строка с использованием «,» в качестве разделителя

<span th:each="instrumentDescriptor, iterStat : ${instrument.instrumentDescriptors}" th:text="!${iterStat.last} ? ${instrumentDescriptor.instrumentVersion} + ', ': ${instrumentDescriptor.instrumentVersion}"></span> 
+0

Снова я хотел бы иметь блок кода jsp, подобный объекту с тимелеафом. Я вижу, что нет такой возможности. – Ahmet