如何从Javascript(Java 1.8)访问Java枚举
在Java 1.7中,在删除之前,可以使用“包”从浏览器查看的HTML页面上的Javascript以以下方式访问Java枚举:
var enumvar1 = document.appletid.Packages.com.mycompany.MyClass$MyEnumYesNo.YES
var enumvar2 = document.appletid.Packages.com.mycompany.MyClass$MyEnumYesNo.NO
我正在升级这些HTML页面以使用Java1.8(现在它使用Nashorn javascript引擎),但我似乎不知道如何访问枚举成员
我已经重写了Java小程序,将一个新的MyClass对象返回给javascript变量,并且我可以从javascript变量访问MyClass中的所有方法和字段,但是我无法理解枚举的语法。错误类型为“属性为空/未定义”。我尝试了包名、类名、保存类的变量和applet ID变量的各种组合
我在谷歌搜索中没有发现任何Java1.8的例子,尽管在阅读Oracle的Nashorn文档时,这意味着可以访问枚举
有人能提供一个语法示例吗?可能是我忽略的一些简单的事情
谢谢
# 1 楼答案
Nashorn引入了全局函数
Java.type()
来与Java类交互http://docs.oracle.com/javase/8/docs/technotes/guides/scripting/nashorn/api.html下面是一个如何使用它的示例
此外,如果你正在寻找从犀牛迁徙到NASHONE的方法,请考虑遵循手动^ {A2}