web-dev-qa-db-ja.com

Sightly / HTLで文字列を連結する方法は?

私は次のコードを持っています:

<sly data-sly-use.link="${'core.impl.view.tools.LinkUtils' @ path=properties.targetURL}"></sly>

連結したいproperties.linkTypeからproperties.targetURL

それをどのように行うことができるかについてのアイデアはありますか?ネット上で例を見つけましたが、私のユースケースではうまくいかないようです。

9
mrjayviper

それはあなたが考えている文字列の連結の種類に依存します:

  1. 演算子を使用した文字列の連結はサポートされていません、つまり。あなたはできません ${properties.targetURL + properties.linkType}。回避策(@Jensが提案)は、次のようなことを行うことです:<sly data-sly-test.concatenated="${'{0}{1}' @ format=[properties.targetURL, properties.linkType]}"></sly>
  2. HTML出力での文字列の連結は、HTL式を隣り合わせに配置することで実行できます。 ${properties.targetUrl}${properties.linkType}
  3. 両方の文字列をUseObjectに送信することは、複数の式オプションを介してサポートされています:<sly data-sly-use.link="${'core.impl.view.tools.LinkUtils' @ path=properties.targetURL, type=properties.linkType}"></sly>
  4. 文字列を連結してURLを形成できる場合は、 RI Manipulation を使用できます。
14
Vlad

@ joinを使用して、上記の回答に文字列を連結するもう1つの方法を追加したいと思います。

<sly data-sly-test="${['String1','String2','String3'] @ join = '-'}"/>

次のように出力されます:String1-String2-String3

12
Manisha