这是我的java文件:
import java.io.File;
import java.lang.String;
public class ListFiles {
public static void main(String[] args) {
// Directory path here
String path = "D:/xmlfiles/";
String files;
File folder = new File(path);
File[] listOfFiles = folder.listFiles();
for (int i = 0; i < listOfFiles.length; i++) {
if (listOfFiles[i].isFile()) {
files = listOfFiles[i].getName();
System.out.println(files);
}
}
}
}
这是我的JS档案:
function display(){ el = document.getElementById("text"); el.addEventListener("oncommand", display, true); //loading Encryption Class //alert('hffffi'); var myClass = cl.loadClass('ListFiles'); // use the same loader from above var myObj = myClass.newInstance(); // Pass whatever arguments you need (they'll be auto-converted to Java form, taking into account the LiveConnect conversion rules) var Files = myObj.String; alert('karthik it works'+Files); document.getElementById("text").value=Files; }
说明: 我正在尝试将java的ouptput字符串放入我的JS中。我可以使用XUL Firefox中的Live connect连接JAVA和JS。 现在的问题是,如何在我的JS文件中显示java的输出。
谢谢你们。
答案 0 :(得分:0)
如果我理解正确,var Files = myObj.String;
应该返回Java程序的输出?!
我对LiveConnect的了解不多,但我更期望ListFiles
类有一个返回列表的方法。目前它只读入一个局部变量(并且无论如何都不会在LiveConnect设置中自动调用main()
。)
那么如下:
public class ListFiles {
public:
String getFiles() {
String result = "";
// [iterate over the files and add their names to result]
return result;
}
}
在JS代码中:
var Files = myObj.getFiles();
而不是
var Files = myObj.String;