【问题标题】:JSP page to buffer in action用于缓冲的 JSP 页面
【发布时间】:2011-02-24 12:50:05
【问题描述】:

是否有可能在我的 struts (1.2) 操作中将我显示的页面内容以“原样”格式放入我的请求中?

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

result的值为"",我也试过用

BufferedReader reader = a_request.getReader();

而不是getInputStream,但是没有用,基本上我是想把JSP body放到一个缓冲区中,这样我就可以把它保存为HTML,再转成PDF。

有人知道吗?

【问题讨论】:

  • ServletRequest.getInputStream() 将 HTTP 请求的主体作为二进制流返回。那里没有HTML。请向我们解释您想做什么。您想将 HTML 页面的全部内容发送到服务器以便将其转换为 PDF 吗?或者您想缓冲发送到浏览器的响应,以便将其转换为 PDF?
  • 我希望将 HTML 页面的全部内容发送到服务器,以便将其转换为 PDF。

标签: jsp buffer


【解决方案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 生成等。

【讨论】:

    猜你喜欢
    • 2013-04-02
    • 1970-01-01
    • 2016-03-02
    • 2011-04-06
    • 2014-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-29
    相关资源
    最近更新 更多