如何连接 Sightly/HTL 中的字符串?

How to concatenate strings in Sightly/HTL?

我有以下代码:

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

我想将 properties.linkType 连接到 properties.targetURL

有什么办法可以做到吗?我在网上找到了示例,但它们似乎不适合我的情况。

这取决于您想要的字符串连接类型:

  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. 通过多个表达式选项支持将两个字符串发送到使用对象:<sly data-sly-use.link="${'core.impl.view.tools.LinkUtils' @ path=properties.targetURL, type=properties.linkType}"></sly>
  4. 在某些情况下使用 URI Manipulation
  5. 可能会连接字符串以形成 URL

我只想添加一种将字符串连接到上述答案的方法,方法是使用 @ join

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

它将给出如下输出: String1-String2-String3