我有一个JSP页面,需要在表单中接受一些信息,将所述表单提交到同一页面,并在表单提交后使用额外的“谢谢______”div(使用参数检查)。
但是,我还需要在服务器上提供一个文件供下载,但是由于整个jsp页面仍然需要显示,我不能搞乱文件的内容配置来提供文件。如何在不将表单提交到其他页面的情况下提供此文件?我可以使用什么JavaScript技巧来打开一个新的窗口来执行此操作? Javascript会没问题,但弹出窗口阻止程序不会胜过任何事情。
我无法使用href发送文件 - 必须自动完成。
此外,如果在新窗口中打开文件(即pdf),那也没关系。
答案 0 :(得分:3)
我以前做过这个。正常加载JSP页面,但包含一行Javascript,重定向到另一个负责提供文件的页面......
location.href = 'serveFile.jsp';
只要serveFile.jsp正确设置content-disposition
标题,它就会显示保存对话框,实际上不会更改页面。
如何在不进入其他页面的情况下提供此文件?
你在技术上不能,但你可以使用这种方法保留在上一页(界面明智),这样就可以实现我相信你正在寻找的无缝效果。
注意:在我的方法实现中,我发现保存文件后,导航到另一个页面,然后点击后退按钮,您将再次获得保存对话框。没办法解决这个问题。