1

我有一个从 servlet 转发后呈现的 JSP。现在我有一个来自 JSP 的 HTML,我想发布这个页面以生成 PDF。

据我了解,提交按钮只提交一个表单。但是,我需要提交原始 HTML 才能最终使用 FlyingSaucer 或类似的 PDF 创建器库。

使用我的 HTML 然后将 PDF 保存到文件的方法是什么?

如果我错了以及您对我的方法的看法,请纠正。任何建议将不胜感激。

编辑:对不起,我没有发布任何代码,但目前我在 servlet 中遇到了问题,以解决这个问题。

4

1 回答 1

1

你基本上有两个选择:

  1. 让 JS 在提交时将当前 HTML DOM 树设置为(隐藏的)请求参数。

    <form method="post" action="pdfservlet">
        <input type="hidden" name="source" />
        <input type="submit" value="generate" onclick="this.form.source.value = document.documentElement.outerHTML;" />
    </form>
    

    pdfservletrequest.getParameter("source").

  2. 让我们使用/pdfservlet以编程方式请求所需的页面。URLURLConnection

    InputStream source = new URL("http://localhost:8080/context/someservlet").openStream();
    // ...
    

    JSESSIONID如果您需要在同一会话中运行,请使用当前会话 ID设置必要的 cookie。

    URLConnection connection = new URL("http://localhost:8080/context/someservlet").openConnection();
    connection.setRequestProperty("Cookie", "JSESSIONID=" + request.getSession().getId());
    InputStream source = connection.getInputStream();
    // ...
    
于 2013-08-23T15:57:21.443 回答