xpages访问本地通讯簿和其他通讯簿

xpages访问本地通讯簿和其他通讯簿,xpages,Xpages,有一个XPages应用程序正在Notes客户端和浏览器上运行 假设我有2个xe:namepockers: <xe:namePicker id="namePicker1" for="djTextarea5"> <xe:this.dataProvider> <xe:dominoNABNamePicker groups="false" nameList="peopleByLas

有一个XPages应用程序正在Notes客户端和浏览器上运行

假设我有2个
xe:namepocker
s:

<xe:namePicker id="namePicker1" for="djTextarea5">
    <xe:this.dataProvider>
                <xe:dominoNABNamePicker groups="false"
                            nameList="peopleByLastName" addressBookDb="names.nsf"
                            addressBookSel="db-name">
                </xe:dominoNABNamePicker>
    </xe:this.dataProvider>
</xe:namePicker>

和(这是公司地址簿)


使用
addressBookDb=“names.nsf”
可以查看“本地”通讯簿

如果应用程序在XPiNC中运行,则“本地”是用户的Notes客户端。“names.nsf”是用户的个人通讯簿

若应用程序在浏览器中运行,则代码在服务器上执行,从服务器的角度来看,“lokal”是服务器的数据目录,因此“names.nsf”是指服务器上的公司通讯簿

无论应用程序运行在何处,都可以使用
addressbookdb=“OurServer/Company!!names.nsf”
查看服务器的通讯簿


旁注:Notes 9中有一个数据库属性,它会导致在服务器上执行XPages,即使它们是从XPiNC调用的。在这种情况下,“names.nsf”总是指服务器上的公司通讯簿

请注意,您正在为一个文本字段使用两个名称选择器。您知道可以使用namePickerAggregator将多个源馈送到一个控件中,对吗?@Greg感谢您的反馈。是的,事实上,我知道了名字选择器。在这个问题中,我刚刚添加了两个关于(特别是)addressBookDb参数的示例。我只是想找一些解释,以便更好地理解。我不确定,也不打算将此作为答案,但我相当确定,这取决于程序运行的上下文。如果在服务器上运行,则“”服务器将是…服务器。如果是在客户端上运行的XPiNC,则“”将是Notes客户端。不要引用我的话。你所说的“服务器”是指什么?假设我使用:addressBookDb=“names.nsf”。因此,如果我在Notes客户机=>当前用户的本地通讯簿中运行XPiNC应用程序。如果我在浏览器上运行它=>的地址簿?我只是说服务器部分是空的,names.nsf=!!namesnsf=@DbName()-[“”,“names.nsf”]但由于我不确定,我可能应该删除这两条注释。非常感谢您的解释!是的,事实上,我用的是Notes v.9。你能告诉我描述的确切财产吗?
<xe:namePicker id="namePicker2" for="djTextarea5">
        <xe:this.dataProvider>
                <xe:dominoNABNamePicker groups="false" nameList="peopleByLastName adressBookDb="OurServer/Company!!names.nsf"
                                        addressBookSel="db-name">
                    </xe:dominoNABNamePicker>
        </xe:this.dataProvider>
  </xe:namePicker>