0

视觉模板是否基于条件呈现?

例如 component.html 基于参数渲染

如果参数一存在

<div data-sly-use.myComponent="${'com.myproject.service' @ param1='one''}">
    ${myComponent.calculatedValue}
</div>

如果参数二存在

<div data-sly-use.myComponent="${'com.myproject.service' @ param2='one''}"">
    ${myComponent.calculatedValue}
</div>

如果参数不存在

<div data-sly-use.myComponent="${'com.myproject.MyComponent'}">
    ${myComponent.calculatedValue}
</div>

问题 2:如何获取 param1='one' 值(来自 javascript 或 jsp)

问题3:是否可以对这个值 ${myComponent.calculatedValue} 做字符串操作

4

1 回答 1

1

HTL/Sightly 中的条件渲染可以通过使用data-sly-test(参见SPEC):

<div data-sly-test="${param1 == 'one'}"..>..</div>
<div data-sly-test="${param2 == 'one'}"..>..</div>
<div data-sly-test="${param1 != 'one' && param2 != 'one'}"..>..</div>

这允许您基于参数实例化不同的使用对象。该参数必须内联定义,通过可用的绑定/全局对象或通过另一个使用对象访问。

目前 HTL 表达式不支持操作。

于 2017-09-18T08:04:01.320 回答