我们有JSF 2.0(primefaces)应用程序,其中包含在网页中的applet。这样的事情。
<h:panelGroup id="appletbox" layout="block">
<applet id="termApplet" code=com.foo.TermApplet archive=...>
<param name=... value=... />
</applet>
</h:panelGroup>
applet是SSH终端仿真并打开连接。我们称之为 在com.foo.TermApplet中 - 有一个公共的void方法openFrameFromWebPage(String host) 从javascript调用:
function openTerminal(host) {
var termApplet = document.getElementById("termApplet");
termApplet.openFrameFromWebPage(host);
}
这很好用。问题是,每次包含此applet的网页发出请求(包括ajax)时,它都会导致applet重置并从头开始。
我是否愿意,以某种方式将applet从回发中排除。想象一下,您正在终端中的vim中编辑某个文件,然后单击网页上的单选按钮,以获取有关您必须在服务器上执行的工作的不同数据 - 并重置连接并丢失所有未保存的数据。
有没有办法克服这个问题?
答案 0 :(得分:0)
弹出另一个浏览器,不要关闭警告并打开其中的applet。如果浏览器没有刷新并且您只进行ajax,请添加iframe并从中打开applet。