我有一个包含此内容的xPage:
<div class="lotusFrame">
<xc:layoutCommonBanner />
<xp:callback facetName="facetTitleBar" id="callbackTitleBar" />
<xc:layoutDiscrepancyPlaceBar />
<div class="lotusMain">
<div class="lotusColLeft">
<xp:callback facetName="facetColLeft" id="callbackColLeft" />
</div>
<div class="lotusColRight">
<xp:callback facetName="facetColRight" id="callbackColRight" />
</div>
<div class="lotusContent">
<xp:callback facetName="facetContent" id="callbackContent" />
</div>
</div>
<xc:layoutCommonFooter />
<xc:layoutCommonLegal />
</div>
正如您所看到的,组成布局时有几个自定义控件。在facetContent中,有一个包含文档数据源的文档。这是页面中唯一的文档。我需要在layoutDiscrepancyPlaceBar自定义控件中以某种方式获取此文档。
我在网上发现了一些名为currentDocument的无证功能的旧文章。它应该在每个页面上都有文档数据源。但它没有用。我有Domino 8.5.2,并且似乎不再支持currentDocument。
你能救我吗?如何从另一个自定义控件中的一个自定义控件获取文档数据源。它甚至可能吗?提前致谢,Jiří
编辑:好的,它仍然受支持,但它只适用于自定义控件,它包含在带有文档数据源的控件中。在上面的情况下,它不起作用。
答案 0 :(得分:0)
您最好的选择是在自定义属性中移交绑定名称。 (我们称之为bindto
。然后将字段绑定到
"${#{"+compositeData.bindto+"}}"
详见here(在prezi内)
P.S。 currentDocument记录在某处。
答案 1 :(得分:0)
您还可以将数据源上的句柄直接传递给自定义控件,以及要在数据源上绑定的项的名称。因为EL支持数组语法和点语法,所以这允许您定义如下表达式:
#{compositeData.dsn[compositeData.fieldName]}
(其中“dsn”是传递数据源句柄的属性,“fieldName”是传递要绑定到该数据源的项目名称的属性。)
可以找到有关此方法的更多详细信息here。