2017-02-11 28 views
0

私はthymeleafで文字列変数を作成し、ループを繰り返してこの文字列変数に値を連結したいと思っています。次に、この文字列を<span>要素に表示します。私が達成したいものは、次のようにjavaで記述することができます:Thymeleafは文字列を構築する

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

次に、これをspanのようなhtml要素に入れたいと思います。私が使用する方法を知っている:

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

しかし、これは条件を満たして各元素の<span>作成します。私はちょうどthタグフリーセクションで自分の文字列を構築したい、そして、私はちょうど単一の<span>要素に自分の文字列を表示したいと思います。

答えて

0

Ahmet、Thymeleaf docsのExpression Utility Objects for Stringsをご覧ください。

あなたがアイテムに参加するには、3つの方法があります:

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

これらのユーティリティオブジェクトの集約のためのクールな方法の多くを提供しています、カレンダーとなど

肥満児

+0

私はすでに何sugg見ested;しかし、私はそれがオプションのようなjspコードブロックで可能かどうかを知りたがっています。 '<%//コードここで%>'のように。私はこれが幾分Thymeleafの哲学に反していることを知っていますが、この種の無料のコーディング能力が必要な場合もあります。とにかくありがとう – Ahmet

0

ここで私はに数字に参加する方法です区切り文字として「」を使用して文字列が

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

私はthymeleafと施設のようなjspコードブロックを持っていると思います。私はそれが明らかにそのような種類の機能を持つことは不可能であることがわかります。 – Ahmet

関連する問題