1

在 jsp 上,我可以编写以下代码:

<c:set var="salary"  value="${object.salary}"/>

然后在代码中我可以使用${salary}变量

你能帮忙用sightly重写它吗?

附言

我试过这个:

<div data-sly-use.salary="MySalary">
    <div data-sly-use.product="MyBean"  data-sly-unwrap>
        {
        <ul data-sly-list="${product.specifications}" data-sly-unwrap>
                "${item.sku ? item.sku : 'product'}" : "${item.label} ${item.value}"<div data-sly-test="${!itemList.last}" data-sly-unwrap>,</div>
        </ul>
        }
    </div>
</div>
<div data-bla-bla="${salary}"></div>

但我看到编译错误

4

1 回答 1

1

您没有在 Sightly 中分配变量的功能。可能的最大值是比较值,否则您的所有逻辑都进入 Java 或 JavaScriptUse-API类。

使用时data-sly-use,提供的值必须是

  1. WCMUse扩展类或实现Use接口的 Java 类或
  2. 定义使用类的 JavaScript 文件。

data-sly-use因此,当 的值不是上述两者时,您会收到编译错误。

但是,我可以为您的问题建议一种解决方法,尽管我不建议使用相同的方法。您可以使用data-sly-test并为其分配一个变量名,以后可以在其他地方使用。

例如。

<div data-sly-test.salary="MySalary"></div>
<div>
    <div data-sly-use.product="MyBean"  data-sly-unwrap>
        {
        <ul data-sly-list="${product.specifications}" data-sly-unwrap>
                "${item.sku ? item.sku : 'product'}" : "${item.label} ${item.value}"<div data-sly-test="${!itemList.last}" data-sly-unwrap>,</div>
        </ul>
        }
    </div>
</div>
<div data-bla-bla="${salary}"></div>
于 2015-08-27T11:09:07.077 回答