2013-06-13 82 views
0

我有一个带有viewPanel和对话框的页面。当点击viewPanel中的项目时,对话框打开,提示用户对该项目进行更改,并为他们提供生成PDF格式项目报告的选项。首先,我试着把PDF创建放到一个按钮上,如下所述:http://www.eknori.de/2011-10-25/xpages-to-pdf-with-itext/但是,无论何时按下按钮,我都会得到一个“NotFoundError:DOM Exception 8”,这似乎源于dojo JS。所以目前我有一个选择,按钮只需设置一些sessionScope变量并打开一个pdf.xsp XPage,其中变量被读回并创建PDF。使用页面刷新创建PDF

PDF获得正确创建,但这也意味着用户所在的页面将不会刷新,以在viewPanel中显示其新更改。我试着在创建PDF的XPage底部添加页面重定向,但没有运气。

那么,我该如何创建一个PDF并提示用户下载它,同时也刷新了它们当前所在的页面?

回答

1

您是否正在按钮上部分刷新以隐藏对话框并执行pdf生成代码?如果是的话,我认为你的问题存在。你可以做的是对对话框的onClose()方法进行部分刷新以刷新视图面板。在客户端的onunload方法中,您可以打开一个所谓的xAgent,它在新窗口中为您呈现pdf(window.open(pdf.xsp?docid = xxx)。请看这里:NotesIn9: 039 Creating PDF’s with XPages Part 2

问题的症结使用这种方法是,当您在yoru viewpanel行中显示的按钮/图像(如果创建报告时显示)未显示,因为xagent在/ viewpanel行正在刷新的时间之后运行。