我知道我们可以通过DWR library
来实现这一点,以便在Javascript中使用java对象。
但我想知道我们是否可以使用普通的Javascript对象在Java Objects
中实例化Javascript
?
我在互联网上搜索,发现this link和this link在Javascript中说Packages object
。我甚至读过这个对象是JS的一部分,因为JS 1.1,是真的吗?
但是当我实际使用var myClass = new Packages.myPackage.myClass();
时,它表示Packages
未定义,显然我在这里错过了一些东西。
对于我的用例,我必须在JS中实例化Java Pojo
。
任何有关如何实现这一目标的线索?
谢谢!
答案 0 :(得分:0)
您可以创建一个Java对象,并在新的帮助下将其分配给JavaScript中的变量
关键词。创建Java类的实例时,JavaScript会自动创建JavaObject
宾语。例如,您可以从JavaScript实例化Java String并将其分配给变量。
然后,您可以使用点运算符访问对象的length()
var myString=new java.lang.String("Test String");
alert(myString.length()); //prints 11
您可以点击此链接获取更多信息http://www.sitepoint.com/connect-java-to-javascript-with-liveconnect/
答案 1 :(得分:0)
此功能取决于JavaScript引擎(即运行JavaScript的解释器)。我没有尝试在浏览器中执行此操作,但是在启用Java插件时可能会这样做(出于安全原因,您不应该这样做,至少不是无条件的)。
特殊对象Packages
是Rhino engine的一个特性,例如,它是一个在Java VM中运行的JavaScript解释器。 Packages
重载了访问器方法,因此当您编写Packages.com.pany.Foo
时,它将在内部查找类并返回以有用的方式连接Java和JavaScript世界的内容。
您可以在此处找到教程:https://developer.mozilla.org/en-US/docs/Mozilla/Projects/Rhino/Scripting_Java