使用HTL调用时在Java中使用“is”或“get”有什么区别

在 AEM 中,当我们调用一些要在我们的 HTL 前端代码中使用的方法或函数时,就像这样。

public boolean isAboolean() {
    return "test";
}

对于 HTML,模板语言 HTL

<sly data-sly-test.boolean="${property.Aboolean}" />

“get”也会发生同样的事情,我们是否需要将它添加到 HTL 代码中,或者我们可以只写方法名称而不使用“is”或“get”?

我们必须这样做,还是会这样?

<sly data-sly-test.boolean="${property.isAboolean}" />

回答

该HTL规格是有点通用的,说你可以访问的成员如下:${myObject.key}。默认实现 (Sling/AEM) 遵循 JavaBeans 命名约定,并将尝试调用getKey()isKey()。它还将尝试调用key()或输出key在 POJO 情况下命名的字段。AEM 文档(属性访问部分)中提供了更多信息。

对于您的示例,您需要调整 HTL 表达式中成员的大小写:${property.aboolean}并且${property.isAboolean}都应该导致调用isAboolean()方法。

由于不允许调用带参数的方法,因此不使用括号。


以上是使用HTL调用时在Java中使用“is”或“get”有什么区别的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>