【发布时间】:2012-08-13 20:39:06
【问题描述】:
我想从 javascript 访问签名小程序方法;因此我创建了一个 html 文件,如:
html 文件:
<script type="text/javascript">
function uploadFileApp(){
document.applets[0].FileCooserApp();
document.uploadAppletFile.FileCooserApp();
}
</script>
<html>
<h1>Applet Demo</h1>
<body>
<applet name="uploadAppletFile" code="TestApplet.class" archive="FileUpload.jar" width="400" height="300"></applet>
<input type="button" name="button" onclick="uploadFileApp();" value="Button"/>
</body>
</html>
小程序类:
public class TestApplet extends JApplet{
public TestApplet() {
}
public String FileCooserApp(){
JFileChooser chooser = new JFileChooser();
chooser.showOpenDialog(null);
File file = chooser.getSelectedFile();
String path = file.getAbsolutePath();
return path;
}
}
正如我在我的 html 文件中显示的那样,我使用两种方式来访问 applet 方法,但是当我单击按钮时,没有任何操作会执行。控制台什么也没显示。
【问题讨论】:
-
无法从 Javascript 访问 Java 方法。两种语言都使用自己的工作空间。 (Java 需要一个单独的插件)
-
@reporter 不,它可以从 javascript 访问小程序方法,我能够访问该方法,但我不知道这里出了什么问题,我无法访问该方法。
-
我在网上查到了,显然你是对的。
-
“控制台什么都不显示。” 让控制台显示一些东西。 -- 添加
System.out.println("FileChooserApp invoked");作为方法的第一行。刷新类缓存,重新加载小程序并检查控制台中的字符串打印。回来报告。 -
@AndrewThompson 小程序在程序运行时第一次加载成功,但是当我尝试调用相同的方法时,它会给出错误 java.security.AccessControlException: access denied (java.util.PropertyPermission user.dir read) at java.security.AccessControlContext.checkPermission(Unknown Source) at javax.swing.JFileChooser.getIcon(Unknown Source) 那我该怎么办?
标签: java javascript jakarta-ee applet signed-applet