我正在尝试创建一个用户填写字段并保存数据的pdf。我创建了一个' save'使用iText在pdf上的按钮。我使用PdfAction.createSubmitForm来设置按钮的动作。虽然我在保存时获得pdf的formfield值,但由于此按钮,我在JSP上丢失了现有的javascript。我在保存按钮中使用PdfAction.SUBMIT_HTML_FORMAT。我在这里做错了什么?
由于
答案 0 :(得分:0)
问题已经解决。如果我重定向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>");
答案 1 :(得分:0)
我已经阅读了你的答案,虽然它解决了你的问题(并澄清了最初的问题),但你正在以非常糟糕的方式解决问题。您正在向浏览器发送几乎为空的HTML文件<html></html>
,并且您希望浏览器会尊重Refresh
标头。这非常不专业!
重定向是这样完成的:
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);
}
如果您的代码段是doGet
方法的一部分,请将doPost
替换为doPost
。