如何在XPage触发的新客户端选项卡中打开经典Notes文档

时间:2013-05-21 11:12:37

标签: xpages lotus-notes xpinc

我必须实现以下请求,但所有尝试都失败了:

如果单击XPage(XPiNC)中的按钮/链接,则应在另一个Notes数据库中创建经典Notes文档。必须在带有XPage的选项卡旁边的新客户端选项卡中打开此新Notes文档。

我已经尝试了几种方法

FacesContext.getCurrentInstance().getExternalContext().redirect("notes://server/anotherdb/newdocumentunid?openDocument")

但没有一个导致所需的结果(打开了3个标签或XPage标签为空)。

3 个答案:

答案 0 :(得分:2)

您是否尝试在客户端javascript中使用window.open。

添加代码window.open(“Notes:// database / view / document?EditDocument”)

应该有用。

答案 1 :(得分:0)

编辑:

可以使用view.postScript()从SSJS执行CSJS。

    <xp:button value="client" id="button3">
        <xp:eventHandler event="onclick" submit="true" refreshMode="partial" disableValidators="true">
            <xp:this.action><![CDATA[#{javascript:var url = myJavaClass.createNewDocumentAndReturnNotesUrl(); view.postScript("window.open('" + url + "')");}]]></xp:this.action>
        </xp:eventHandler>
    </xp:button>

在其他数据库中创建文档并获取新文档的URL后,从SSJS执行CSJS函数window.open(url)。这样,只有在单击按钮并在新窗口中打开新文档时才会执行代码。

答案 2 :(得分:0)

实际上,要在其他数据库中创建文档,您无需担心文档的UNID是什么。只需使用此javascript:

window.open("Notes://database/form?CreateDocument")