我有两个小程序。FirstApplet 小程序位于主 HTML 页面中。主页使用 javascript window.open(...) 打开嵌入 SecondApplet 小程序的新页面。
以下是两个小程序的定义方式:
public class SecondApplet extends JApplet{
private static Long value;
public void init(){
value = new Long(6);
}
public static void testValue(){
System.out.println(value);
}
}
public class FirstApplet extends JApplet{
public void testValue(){
SecondApplet.testValue();
}
}
现在我的问题是当 FirstApplet 调用
SecondApplet.testValue()
静态字段失去了它的值,现在它的值为 0。我还尝试了我自己的对象模型,它们在 SecondApplet init() 方法中被实例化,但是当调用 FirstApplet.testValue() 时,这些对象现在为 NULL。
任何人都知道为什么会发生这种行为?我只是感到困惑,因为两个 Applet 都生活在同一个 JVM 中。
顺便说一句,我也尝试使用 getAppletContext.getApplet("secondapplet") 但它总是返回 NULL。甚至 getAppletContext.getApplets() 也总是返回一个元素。我在 HTML 页面中验证了 name 属性,它是正确的。
如果这是安全问题,只是想补充一点,我没有收到任何类型的错误或警告。
提前致谢。