如何从模型 java class 访问 Magnolia v5.7 组件 属性
How to access Magnolia v5.7 component property from Model java class
- 我在组件对话框中定义了属性
- 如何从模型 class 中的 execute() 方法访问此值?
- 型号class 将在此url
请求服务
文档仅讨论如何在模型 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();
}
- 我在组件对话框中定义了属性
- 如何从模型 class 中的 execute() 方法访问此值?
- 型号class 将在此url 请求服务
文档仅讨论如何在模型 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();
}