我想将一个参数从html传递给WCMUse类.
Java的:
public class ComponentHelper extends WCMUse {
public void activate() throws Exception {}
...
public String methodA(String parameter1) {
...
}
public String getParam() {
String param = "";
...
return param;
}
}
Run Code Online (Sandbox Code Playgroud)
HTML:
<componentHelper data-sly-use.componentHelper="ComponentHelper" data-sly-unwrap />
...
<div>
${componentHelper.methodA @ parameter1=componentHelper.param}
<!--/* Also tried: ${componentHelper.methodA @ componentHelper.param} */-->
</div>
Run Code Online (Sandbox Code Playgroud)
不幸的是,看起来我无法将任何参数传递给方法.有没有办法从html传递参数到WCMUse类?
Tom*_*wek 11
Java Use-API不支持将参数传递给getter方法.在Use class初始化期间,您可以传递一次参数.看一下受Sightly文档启发的这个例子:
<!-- info.html -->
<div data-sly-use.info="${'Info' @ text='Some text'}">
<p>${info.reversed}</p>
</div>
Run Code Online (Sandbox Code Playgroud)
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;
}
}
Run Code Online (Sandbox Code Playgroud)
只有从data-sly-template元素调用Use类时,这种参数才有意义(否则参数也可以在Use类中进行硬编码).更多信息可以在aferomentioned文档的以下章节中找到.
| 归档时间: |
|
| 查看次数: |
18233 次 |
| 最近记录: |