如何从模型 java class 访问 Magnolia v5.7 组件 属性

How to access Magnolia v5.7 component property from Model java class

文档仅讨论如何在模型 class 中访问数据,我需要将 url 传递到 模型 class.

我无法通过 ajax 从页面发送请求,因为服务域未暴露给外联网。

在您的 ftl 中,您可以使用参数调用模型:

${model.myMethod(content.unsubscribe_url)}

在您的模型中,您可以使用参数来执行您需要的操作

 public class myMethod(String url) {
     do something ....
 }

您的模型 class 来自 RenderingModelImpl。或者至少应该 :).
因此,有一个构造函数将当前组件节点传入,并通过 getNode() 方法向您公开。
因此,假设当您在对话框中单击 Save changes 时,该值将保留在 unsubscribeUrl 属性 下,以便从 execute() 方法访问该值:

public String execute() {
    // read unsubscribe url
    String unsubscribeUrl = this.getNode().getProperty("unsubscribeUrl").getString();
}