我想打开一个新浏览器并从文件系统加载一个页面(将在单击该按钮时创建)。我的应用程序是一个 java servlet。基本上我允许用户在他们的网站上更改一些 HTML。单击按钮后,用户将看到一个预览页面,该页面显示了页面在进行更改后的样子。
什么是最简单的方法,您可以看到哪些问题,以及我们可能如何解决这些问题。
我看到一个问题,例如,如果浏览器窗口试图立即打开文件,它甚至都不存在。所以在尝试读取文件之前可能需要一些延迟。
我想打开一个新浏览器并从文件系统加载一个页面(将在单击该按钮时创建)。我的应用程序是一个 java servlet。基本上我允许用户在他们的网站上更改一些 HTML。单击按钮后,用户将看到一个预览页面,该页面显示了页面在进行更改后的样子。
什么是最简单的方法,您可以看到哪些问题,以及我们可能如何解决这些问题。
我看到一个问题,例如,如果浏览器窗口试图立即打开文件,它甚至都不存在。所以在尝试读取文件之前可能需要一些延迟。
这可以使用 java 脚本来完成
window.open('url','name',....)
您可以在此函数中传递参数。
谷歌“javascript window.open 函数”
干杯
也许您可以使用 jQuery/AJAX 或类似的技术先将数据发布到服务器,然后在新窗口中打开它。
有关示例,请参见 jQuery 文档:jQuery Post 示例
如果预览页面没有太多数据要传递,您可以将其作为 url 参数传递,而不是使用 jQuery。如果数据很大,最好使用 jQuery。:)
作为http://www.xyz.com?name= “名称”.....
我不熟悉java servlet,但是您不能将上传的html保存在服务器端会话变量中,在预览页面中显示内容,然后在用户接受后将变量的内容保存到文件系统中变化 ?
你可以使用 JavaScript。在您添加的按钮上:
onClick="doMyOpenWindowFuncion();"
并在页面的脚本部分中编写一个函数,例如
function doMyOpenWindowFunction() {
// if you want the client to wait, heres the place to do so.
// I assume you can make your servlet wait so the next line opens a window to the servlet
openWindow('/MyFancyPreviewServlet', 'Preview Window');
}
在您的 Servlet 中,您只需等待文件出现,然后再交付它。