2011-02-24 45 views
1

有沒有可能在我的struts(1.2)動作中將我顯示的頁面內容按照「原樣」格式導入到我的請求中?JSP頁面緩衝行動

ServletInputStream is = a_request.getInputStream();; 
InputStreamReader isr = new InputStreamReader (is); 
BufferedReader bufRead = new BufferedReader (isr); 
while ((line = bufRead.readLine()) != null) { 
    result += line; 
} 
bufRead.close(); 

結果的值是 「」,我還試圖用

的BufferedReader讀者= a_request.getReader();

而不是getInputStream,但沒有幫助,基本上我希望JSP正文進入一個緩衝區,所以我可以將它保存爲HTML並將其轉換爲PDF。

有沒有人有關於此的想法?

+0

ServletRequest.getInputStream()將HTTP請求的主體作爲二進制流返回。那裏沒有HTML。請向我們解釋你想要做什麼。您想將HTML頁面的全部內容發送到服務器,以便將其轉換爲PDF?或者您想緩衝您發送給瀏覽器的**響應**以將其轉換爲PDF? – 2011-02-24 12:57:05

+0

我希望將HTML頁面的全部內容傳輸到服務器,以便將其轉換爲PDF。 – Vivek 2011-02-24 12:58:35

回答

1

必須使用JavaScript來獲取頁面的整個HTML源代碼(請參閱How to get the entire document HTML as a string?How do I get the entire page's HTML with jQuery?),並將其提交(使用POST)到服務器。

但是,如果PDF轉換器也需要CSS,圖像等將頁面轉換爲PDF,則可能會更困難。在這種情況下,一種解決方案是將當前頁面URL發送到服務器,以便PDF轉換器加載此URL並獲取進行轉換所需的所有內容。然而,這意味着頁面不應該被保護,不應該由JavaScript等生成。