【问题标题】:how to access sign applet method from javascript如何从 javascript 访问签名小程序方法
【发布时间】: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


【解决方案1】:

全部在html中

<object id="uploadAppletFile"
   classid="java:com/company/package/TestApplet.class"
   type="application/x-java-applet" 
   archive="FileUpload.jar"  
   height="0" width="0">
   <param name="code" value="com/company/package/TestApplet.class" /> 
   <param name="archive" value="FileUpload.jar" />
</object> 




<script type="text/javascript">
function uploadFileApp(){   
    uploadAppletFile.FileCooserApp();
}
</script>

【讨论】:

  • @answered 我编写了您给出的代码,当我运行程序小程序加载成功并且 filechooser 函数从 init() 调用时,但是当我尝试从 javascript 调用相同的方法时,它会抛出错误java.security.AccessControlException: 在 java.swing.JFileChooser.getIcon(Unknown Source) 的 java.security.AccessControlContext.checkPermission(Unknown Source) 的访问被拒绝 (java.util.PropertyPermission user.dir 读取) 那我该怎么办?
猜你喜欢
  • 1970-01-01
  • 2023-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-24
  • 2017-02-18
相关资源
最近更新 更多