不要在ajax上重置applet

时间:2012-10-03 09:33:16

标签: java jsf applet

我们有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中编辑某个文件,然后单击网页上的单选按钮,以获取有关您必须在服务器上执行的工作的不同数据 - 并重置连接并丢失所有未保存的数据。

有没有办法克服这个问题?

1 个答案:

答案 0 :(得分:0)

弹出另一个浏览器,不要关闭警告并打开其中的applet。如果浏览器没有刷新并且您只进行ajax,请添加iframe并从中打开applet。