如何在JavaScript中调用Java方法

时间:2019-04-19 10:18:22

标签: javascript java

我有一个Java类,正在将文件复制到另一个目录。我想用javascript来称呼它。我写了这样的东西。

                 for(var i=0;i<arrayExtensions.length;i++){
                        if(arrayExtensions[i]==value.extType){
                            var x=new Package.org.solr.copyImages();
                            var y=x.main(value.FileName,value.FilePath);
                            document.getElementById(showImages).src=y;
                            $(this).find("#showImages").fadeIn();
                        }
                        else{
                            $(this).find("#showImages").fadeOut();
                        }

但是当我运行项目时,它会在控制台中给我这个错误。

Uncaught ReferenceError: Package is not defined
    at HTMLAnchorElement.<anonymous> (index.jsp:216)
    at HTMLDocument.dispatch (jquery-1.12.4.js:5226)
    at HTMLDocument.elemData.handle (jquery-1.12.4.js:4878)

我的Java代码如下

public static String main(String name,String path) {
        // TODO Auto-generated method stub
        File original=new File(path);
        File dest=new File("T:\\Temp\\");
        try {
            FileUtils.copyFileToDirectory(original, dest);
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        String newPath="T:\\Temp\\"+name;
        return newPath;
    }

我在做什么错了?

1 个答案:

答案 0 :(得分:2)

Java不在网络浏览器中运行。当同时使用Java和JavaScript时,通常会向服务器发出ajax请求,服务器将运行Java代码并生成结果,然后将结果发送回浏览器,由执行ajax的JavaScript代码处理请求(特别是其成功处理程序)。

这个问题的答案也可能有用:What is the difference between client-side and server-side programming?