gpt4 book ai didi

AEM6 视力 : How to pass a parameter from HTML to a method from Java-model class?

转载 作者:行者123 更新时间:2023-12-02 18:09:13 26 4
gpt4 key购买 nike

我想将参数从 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;
}
}

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 类吗?

最佳答案

Java Use-API 不支持向 getter 方法传递参数。您可以在 Use 类初始化期间传递一次参数。看看这个受 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 类时,此类参数才有意义(否则参数也可以在 Use 类中硬编码)。更多信息可以在following chapter中找到上述文档。

关于AEM6 视力 : How to pass a parameter from HTML to a method from Java-model class?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28065552/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com