使用 HTL 调用时,在 java 中使用 "is" 或 "get" 有什么区别
What is the difference between using "is" or "get" in java when calling it with HTL
在 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 specification is a bit generic and says that you can access members like this: ${myObject.key}
. The default implementation (Sling/AEM) follows the JavaBeans naming convention and will attempt to call either getKey()
or isKey()
. It will also attempt to call key()
or output a field named key
in case of POJOs. A bit more information is available in the AEM docs(属性 访问部分)。
对于您的示例,您需要调整 HTL 表达式中成员的大小写:${property.aboolean}
和 ${property.isAboolean}
都应导致调用 isAboolean()
方法。
因为不允许调用带参数的方法,所以不使用括号。
在 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 specification is a bit generic and says that you can access members like this: ${myObject.key}
. The default implementation (Sling/AEM) follows the JavaBeans naming convention and will attempt to call either getKey()
or isKey()
. It will also attempt to call key()
or output a field named key
in case of POJOs. A bit more information is available in the AEM docs(属性 访问部分)。
对于您的示例,您需要调整 HTL 表达式中成员的大小写:${property.aboolean}
和 ${property.isAboolean}
都应导致调用 isAboolean()
方法。
因为不允许调用带参数的方法,所以不使用括号。