如何将文档数据源发送到XPages中的自定义控件?
我使用EL将这个计算文本绑定到body字段如何将文档数据源发送到XPages中的自定义控件?,xpages,custom-controls,el,composite,Xpages,Custom Controls,El,Composite,我使用EL将这个计算文本绑定到body字段 <xp:text escape="true" id="computedField1" value="#{doc.Body}"></xp:text> 现在我需要将这个computedField存储在一个自定义控件中并发送到文档中?我应该使用什么属性定义,以及如何将compositeData引用到cc中的Body字段 谢谢 Thomas在自定义控件上创建一个名为dataSource的自定义属性,并将类型设置为com.ibm.
<xp:text escape="true" id="computedField1" value="#{doc.Body}"></xp:text>
现在我需要将这个computedField存储在一个自定义控件中并发送到文档中?我应该使用什么属性定义,以及如何将compositeData引用到cc中的Body字段
谢谢
Thomas在自定义控件上创建一个名为
dataSource
的自定义属性,并将类型设置为com.ibm.xsp.model.dataSource
创建另一个名为computedFieldName
的自定义属性,并将其类型设置为string
在自定义控件的“计算”字段中,设置如下值
value=“#{compositeData.dataSource[compositeData.computedFieldName]}”
使用自定义控件时,只需设置自定义属性,如:
computedFieldName=“Body”
dataSource=“#{doc}”
我可能遗漏了什么。为什么不完全跳过CC中的属性定义,继续将computed字段绑定到XPage上定义的命名数据源,只需#{doc.Body}.@PaulDella Nebbia按照我概述的方式执行,这意味着自定义控件更具可重用性。它还可以处理具有不同名称和不同数据源的字段。有一种编写方法允许自定义控件接受任何内容,而不仅仅是文档作为数据源,例如bean。我的例子被简化为堆栈溢出,真实的场景包含在许多不同的xpage中使用的文件上传控制,这些xpage具有不同的数据源名称。我发现了我在前面的评论中提到的动态绑定。请参阅Stephan Wissel的答案,了解绑定数据的更为动态的方式:那么这就非常有意义了。