在xpinc中打开新文档。如何关闭窗口或重定向到父文档?

时间:2012-06-27 02:37:36

标签: xpages xpinc

我正在使用一个大型经典笔记应用程序中的表单,我正在努力寻找一种方法来结束与提供良好UI的表单的交互。这是我的情景:

1)从视图中打开父文档(经典注释) 2)父文档上的按钮使用notes:/// link在XPiNC中打开子文档。 3)儿童文件XPage上的取消按钮......

我尝试过以下方法:

a)使用window.close() 我已经在这个上做了很多谷歌搜索,各种方法似乎对我没有用。 window.close()应该可以工作,如果你从一个用window.open打开的窗口调用它,所以我尝试了window.open(“closeMe.xsp”,“_ self”)来看看这是否会给我一个窗口可以在onClientLoad客户端事件中使用window.close()的xpage关闭。那里没有运气。以下问题提出建议,但没有提供解决方案(除第三方产品外)

How do I close my window in Xpage? How to close xpages in notes client? I use CSJS window.close but it's not working

b)重定向到父文档 我的下一个想法是重定向到父文档 - 它已经在Notes客户端中打开。但是,我发现当我重定向(使用facesContext.getExternalContext()。redirect(“Notes:/// url”)时,它确实会跳转到父文档,但它会在XPage所在的选项卡中打开一个空白窗口

我的下一个尝试是在原始调用LotusScript中关闭父级,然后在取消按钮中重定向到父级。这也有效 - 您可以访问父文档,但是如果您按下转义键或使用父文档关闭选项卡,它将再次为您留下一个空窗口。

有什么想法吗?我喜欢能够返回到新打开的父文档的想法,因为我可以期望使用我的新子文档刷新嵌入式视图,但此刻我将采取任何有效的方法。 :)

干杯,

布伦丹

2 个答案:

答案 0 :(得分:1)

你被困在岩石和坚硬的地方之间。 XPiNC和经典Notes不会轻易混合。但是有希望。前往Composite Application Wiki。在那里你会发现你可以打开一个composite instead of a document,它允许你在复合材料中包含标签和内容。

这也是经典应用程序和XPages(使用属性代理发布/订阅)可以交换数据的方式。请务必阅读评论。卡尔斯滕有更好的联系。

我没有一个合适的例子来说明你想做什么,但复合感觉就像你最好的选择。

答案 1 :(得分:0)

我找到了部分解决方案,Java是你的朋友。它在按钮中工作也应该在链接中工作。唯一的问题是当从onClose这样的事件调用时,当前的xpage失去焦点并且当前页面保持打开状态。我试图模拟发送键,然后按ESC键。它可以通过按钮正常工作。 CLick事件上的按钮

<xp:button value="Label" id="button1">
    <xp:eventHandler event="onclick" submit="true"
        refreshMode="complete">
        <xp:this.action><![CDATA[#{javascript:var robot:java.awt.Robot= new java.awt.Robot;var event:java.awt.event.KeyEvent=java.awt.event.KeyEvent;

robot.keyPress(event.VK_ESCAPE); robot.keyRelease(event.VK_ESCAPE); enter code here}]]&GT;

    </xp:eventHandler>
</xp:button>
相关问题