2010-03-22 111 views

回答

1

您可以先用javascript獲取html源代碼。

var source = document.getElementsByTagName('html')[0].innerHTML 

然後你可以在這個源保存在一個隱藏字段,當用戶點擊提交按鈕發送它。如果你想在頁面加載時使用ajax發送源代碼。

爲確保您獲得完整的html源代碼,請確保在加載頁面前獲取它。

2

如果請求是idempotent(如GET請求是),那麼只需使用java.net.URL即可獲得JSP輸出的InputStream。例如。

InputStream input = new URL("http://example.com/context/page.jsp").openStream(); 

如果請求不是冪等(如POST要求是),那麼你需要創建一個Filter它與PrintWriter與五種write()方法的自定義實現wrapsServletResponse其中複製輸出被覆蓋放入會話中存儲的某個緩衝區/構建器或本地磁盤文件系統中的臨時文件夾,以便後續請求中可以訪問它。代碼示例可以在here之前發佈的答案中找到。

要將它作爲電子郵件發送,請使用JavaMail API或更方便的Apache Commons Email。代碼示例可以在他們的文檔/指南/ FAQ中找到。

如果您想先將HTML轉換爲PDF,然後看看XhtmlRenderer。代碼示例可以找到here

相關問題