正在尝试使用iText(pdprotion.createSubmitForm)保存PDF表单字段。丢失jsp上的现有javascript

正在尝试使用iText(pdprotion.createSubmitForm)保存PDF表单字段。丢失jsp上的现有javascript,java,pdf-generation,adobe,itext,Java,Pdf Generation,Adobe,Itext,我正在尝试创建一个pdf,用户在其中填充字段并保存数据。我使用iText在pdf上创建了一个“保存”按钮。我正在使用pdprotion.createSubmitForm设置按钮的操作。当我在保存时获取pdf的formfield值时,由于这个按钮,我丢失了JSP上现有的javascript。我正在“保存”按钮中使用pdp.SUBMIT\u HTML\u格式。我做错了什么 谢谢问题已经解决。如果我重定向servlet操作,那么显示的JSP工作正常 下面是代码 HttpServletResponse

我正在尝试创建一个pdf,用户在其中填充字段并保存数据。我使用iText在pdf上创建了一个“保存”按钮。我正在使用pdprotion.createSubmitForm设置按钮的操作。当我在保存时获取pdf的formfield值时,由于这个按钮,我丢失了JSP上现有的javascript。我正在“保存”按钮中使用pdp.SUBMIT\u HTML\u格式。我做错了什么


谢谢

问题已经解决。如果我重定向servlet操作,那么显示的JSP工作正常

下面是代码

HttpServletResponse response ;
            response.setContentType("text/html");
            response.setContentLength(13);

            String url = new URL(request.getScheme(),request.getServerName(), request.getServerPort(),request.getRequestURI()).toExternalForm();

            String target = url+"?action="ServletAction";

            response.addHeader("Refresh", new StringBuilder(target.length() + 5)
                .append("0;url=").append(target).toString());

            ServletOutputStream out = response.getOutputStream();
            out.print("<html></html>");
HttpServletResponse;
response.setContentType(“text/html”);
响应。setContentLength(13);
字符串url=新url(request.getScheme()、request.getServerName()、request.getServerPort()、request.getRequestURI()).toExternalForm();
字符串target=url+“?action=“ServletAction”;
response.addHeader(“刷新”,新的StringBuilder(target.length()+5)
.append(“0;url=).append(target.toString());
ServletOutputStream out=response.getOutputStream();
输出。打印(“”);

我已经阅读了您的答案,虽然它解决了您的问题(并澄清了最初的问题),但您解决问题的方式非常糟糕。您正在向浏览器发送一个几乎为空的HTML文件
,您希望浏览器尊重
刷新
标题。这太不专业了

重定向是这样完成的:

public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException{
    String url = new URL(request.getScheme(),request.getServerName(), request.getServerPort(),request.getRequestURI()).toExternalForm();
    String target = url+"?action=ServletAction";
    response.sendRedirect(target);
}

如果您的代码片段是
doPost
方法的一部分,请将
doGet
替换为
doPost

您的问题对我来说没有意义。您有一个包含AcroForm字段的PDF。您可以将这些字段的键/值对以提交HTML查询字符串的相同方式发布到服务器。到目前为止,一切都很好。不过:丢失JSP上的现有javascript“没有道理。客户端没有JSP,只有PDF文档。您没有向服务器发送任何JSP,只发送key1=value1&key2=value2&。。。不了解您的应用程序的人不知道您为什么要谈论JSP以及Javascript与JSP中Java的关系。在我们的应用程序中,我们试图在用户点击PDF上的保存按钮后立即显示JSP。正在显示的jsp的标题被打断,因为它没有收到框架的某些工具栏。事实上,现在它已经被解决了,因为一旦按下保存按钮,我就重定向servlet操作。Lowagie,我可能无法清楚地表达我的场景,但我在下面发布了我的答案。如果您需要进一步的澄清,请告诉我,因为如果您将此内容纳入您的iText书籍中可能会有所帮助。您的答案解决了您的问题,但它永远不会成为我的书,因为您实现了一个次优的
sendRedirect
。我尝试了重定向,但JSP标头使用了这种方法。