Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从模型java类访问Magnolia v5.7组件属性 我已经在组件对话框中定义了属性_Magnolia - Fatal编程技术网

如何从模型java类访问Magnolia v5.7组件属性 我已经在组件对话框中定义了属性

如何从模型java类访问Magnolia v5.7组件属性 我已经在组件对话框中定义了属性,magnolia,Magnolia,如何从模型类中的execute()方法访问此值 模型类将在此url请求服务 文档只讨论如何访问模型类中的数据,我需要将url传递到模型类中 我无法通过ajax从页面发送请求,因为服务域未对外联网公开。在ftl中,您可以使用参数调用模型: ${model.myMethod(content.unsubscribe_url)} 在您的模型中,您可以使用参数来执行您需要的操作 public class myMethod(String url) { do something .... }

  • 如何从模型类中的execute()方法访问此值
  • 模型类将在此url请求服务
文档只讨论如何访问模型类中的数据,我需要将url传递到模型类中


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

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

${model.myMethod(content.unsubscribe_url)}
在您的模型中,您可以使用参数来执行您需要的操作

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

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

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

我的退订页面没有FTL。它完全由作者控制台页面应用程序组成。我将考虑从头开始做这个页面,如果没有出现任何建议,如何转换或导出已经设计的页面到FTL模板?在模型类构造函数中,我接收内容参数<代码>公共un订阅模型(节点内容,RD定义,渲染模型父){Sub(内容,定义,父);}我可以通过这个
内容
节点访问
取消订阅URL
的值吗?我用FTL和模型类创建组件;定义属性unsubscribeUrl;在模型中添加setUnsubscribe(url);放入FTL
${model.setUnsubscribeUrl(content.unsubscribeUrl)}
;未调用此方法。完全由作者控制台页面应用程序组成是什么意思?如果创建页面时选择模板,则此模板将作为ftl文件存在,其中包括页眉、页脚和用于呈现组件的代码。例如,没有模板的页面是返回json的不可见页面。但是所有普通页面都应该有一个ftl文件。