AEM6 Sightly:如何将参数从 HTML 传递到 Java-模型 class 的方法?
AEM6 Sightly: How to pass a parameter from HTML to a method from Java-model class?
我想将参数从 html 传递给 WCMUse class。
Java:
public class ComponentHelper extends WCMUse {
public void activate() throws Exception {}
...
public String methodA(String parameter1) {
...
}
public String getParam() {
String param = "";
...
return param;
}
}
HTML:
<componentHelper data-sly-use.componentHelper="ComponentHelper" data-sly-unwrap />
...
<div>
${componentHelper.methodA @ parameter1=componentHelper.param}
<!--/* Also tried: ${componentHelper.methodA @ componentHelper.param} */-->
</div>
不幸的是,我似乎无法将任何参数传递给该方法。有什么方法可以将参数从 html 传递给 WCMUse class?
Java 使用-API 不支持向getter 方法传递参数。您可以在 Use class 初始化期间传递一次参数。看看受 Sightly documentation:
启发的这个例子
<!-- info.html -->
<div data-sly-use.info="${'Info' @ text='Some text'}">
<p>${info.reversed}</p>
</div>
Java代码:
// Info.java
public class Info extends WCMUse {
private String reversed;
@Override
public void activate() throws Exception {
String text = get("text", String.class);
reversed = new StringBuilder(text).reverse().toString();
}
public String getReversed() {
return reversed;
}
}
这种参数只有在从 data-sly-template
元素调用 Use class 时才有意义(否则参数也可以在 Use class 中硬编码)。更多信息可以在 aferomentioned 文档的 following chapter 中找到。
我想将参数从 html 传递给 WCMUse class。
Java:
public class ComponentHelper extends WCMUse {
public void activate() throws Exception {}
...
public String methodA(String parameter1) {
...
}
public String getParam() {
String param = "";
...
return param;
}
}
HTML:
<componentHelper data-sly-use.componentHelper="ComponentHelper" data-sly-unwrap />
...
<div>
${componentHelper.methodA @ parameter1=componentHelper.param}
<!--/* Also tried: ${componentHelper.methodA @ componentHelper.param} */-->
</div>
不幸的是,我似乎无法将任何参数传递给该方法。有什么方法可以将参数从 html 传递给 WCMUse class?
Java 使用-API 不支持向getter 方法传递参数。您可以在 Use class 初始化期间传递一次参数。看看受 Sightly documentation:
启发的这个例子<!-- info.html -->
<div data-sly-use.info="${'Info' @ text='Some text'}">
<p>${info.reversed}</p>
</div>
Java代码:
// Info.java
public class Info extends WCMUse {
private String reversed;
@Override
public void activate() throws Exception {
String text = get("text", String.class);
reversed = new StringBuilder(text).reverse().toString();
}
public String getReversed() {
return reversed;
}
}
这种参数只有在从 data-sly-template
元素调用 Use class 时才有意义(否则参数也可以在 Use class 中硬编码)。更多信息可以在 aferomentioned 文档的 following chapter 中找到。