如何在Sightly / HTL中比较两个字符串? (AEM 6.2)

时间:2017-07-24 02:57:30

标签: cq5 aem sightly htl

我创建了一个简单的下拉列表,其中包含两个选项Yes和No,它们返回" true"的值。和"假"分别

<enableTool
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/foundation/form/select"
class="cq-dialog-dropdown-showhide"
cq-dialog-dropdown-showhide-target=".list-option-listfrom-showhide-target"
fieldLabel="Enable tooltip?"
name="./enableTool">
    <items jcr:primaryType="nt:unstructured">
        <true
            jcr:primaryType="nt:unstructured"
            text="Yes"
            value="true"/>
        <false
            jcr:primaryType="nt:unstructured"
            text="No"
            value="false"/>
    </items>
</enableTool>

我想在sightly

中实现以下逻辑
if (value of the returned string is true)
{
Do something
}

For This是写下面的代码

<div data-sly-test="${properties.enableTool == 'true'}"> Value is true</div>

当我运行这个&#34;价值是真的&#34;无论propeties.enableTool的值是真还是假,都会打印出来。

请注意,如果我写<div> ${properties.enableTool} </div>,我会根据我的选择正确地看到值为真或假。

知道我做错了什么吗?

提前致谢!

1 个答案:

答案 0 :(得分:0)

我相信您正在寻找HTL Conditional Ternary operator

<p>${properties.enableTool ? "tool is enabled" : "tool is disabled"}</p>