1

我有一个 JSP 页面需要在表单中接受一些信息,并说表单提交到同一个页面,并带有一个额外的“感谢 ______”div,该 div 仅在表单提交之后放置(使用参数检查)。

但是,我还需要在服务器上提供一个文件以供下载,但由于整个 jsp 页面仍需要显示,因此我不能弄乱标头的内容配置来提供文件。如何在不将表单提交到其他页面的情况下提供此文件?我可以使用什么 javascript 技巧来打开一个可以执行此操作的新窗口?Javascript 可以,但弹出窗口拦截器不会胜过任何事情。

我不能使用 a href 来发送文件——它必须自动完成。

此外,如果在新窗口中打开文件(pdf),也可以。

4

1 回答 1

3

我以前做过。正常加载您的 JSP 页面,但包括一行 Javascript 重定向到负责提供文件的另一个页面...

location.href = 'serveFile.jsp';

只要serveFile.jspcontent-disposition正确设置标题,它就会简单地显示保存对话框并且不会实际更改页面。

如何在不转到其他页面的情况下提供此文件?

从技术上讲,您不能,但是您可以使用此方法保留在上一页(界面方面),这可以实现我相信您正在寻找的无缝效果。

注意:在我实现这个方法的过程中,我发现保存文件后,导航到另一个页面,然后点击返回按钮,你会再次得到保存对话框。没有办法解决这个问题。

于 2010-09-21T19:41:56.453 回答