如何將JSP頁面輸出的全部內容通過電子郵件發送爲HTML或PDF電子郵件附件?如何將JSP輸出的全部內容作爲HTML電子郵件附件通過電子郵件發送
1
A
回答
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()
方法的自定義實現wraps的ServletResponse
其中複製輸出被覆蓋放入會話中存儲的某個緩衝區/構建器或本地磁盤文件系統中的臨時文件夾,以便後續請求中可以訪問它。代碼示例可以在here之前發佈的答案中找到。
要將它作爲電子郵件發送,請使用JavaMail API或更方便的Apache Commons Email。代碼示例可以在他們的文檔/指南/ FAQ中找到。
如果您想先將HTML轉換爲PDF,然後看看XhtmlRenderer。代碼示例可以找到here。
相關問題
- 1. 發送HTML電子郵件 - 如何將.html文件附加到電子郵件?
- 2. 如何通過電子郵件發送Django FileField作爲附件?
- 3. 如何通過電子郵件發送電子郵件地址
- 4. Jenkins擴展電子郵件通知 - 電子郵件內容作爲附件
- 5. Silverlight - 如何通過電子郵件發送HTML附件?
- 6. PHP發送電子郵件顯示內容不作爲附件
- 7. 如何將電子郵件附件另存爲電子郵件?
- 8. 通過HTML/C發送電子郵件#
- 9. 通過電子郵件發送HTML
- 10. SendGrid電子郵件API,發送電子郵件附件
- 11. 用附件發送電子郵件到多封電子郵件
- 12. 節省作爲電子郵件發送的電子郵件的附件(即MSG)
- 13. 無法通過CakePHP郵件發送電子郵件附件PDF
- 14. 通過電子郵件發送Google Doc作爲PDF附件
- 15. 通過電子郵件發送選擇從Excel作爲附件
- 16. ASP.NET通過電子郵件發送給多個電子郵件
- 17. GAS幫助 - 通過電子郵件發送電子郵件
- 18. 通過html發送附加文件的電子郵件
- 19. 安排JSP通過電子郵件發送輸出
- 20. 如何將pdf作爲電子郵件附件發送到Django
- 21. 通過管道電子郵件保存電子郵件附件
- 22. 發送電子郵件操作不發送電子郵件
- 23. 發送HTML電子郵件
- 24. 發送電子郵件作爲HTML
- 25. 發送電子郵件作爲HTML
- 26. 發送HTML Div作爲電子郵件文件附件
- 27. 使用PHP通過HTML表單發送電子郵件附件
- 28. PHP發送電子郵件與文件附件 - 電子郵件不發送
- 29. 將上傳的文件作爲電子郵件附件發送
- 30. 通過電子郵件發送文件