2013-06-13 87 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行正在刷新的時間之後運行。