繁体   English   中英

检查javascript函数是从Java applet定义的

[英]Check javascript function is defined from java applet

我正在开发一个Java小程序,我在其中调用javascript函数:

boolean isAllowed = (boolean) win.eval("isPointMarkCreationAllowed()");

并且我想检查该函数是否存在 ,就像我们在javascript中所做的那样:

if (isPointMarkCreationAllowed == 'function')

反正用Java可以做到吗?

没有实际尝试过,就不会

win.eval("typeof isPointMarkCreationAllowed == 'function'");

确切地执行您想要的操作并返回一个布尔值(true或false)?

您可以使用反射来测试方法是否存在。

例如,如果您有一个对象foo,则可以通过以下方法获取该对象的类中声明的所有方法:

Method[] methods = foo.getClass().getMethods();

这将返回在类中声明的方法的数组。

然后只需使用for循环来检查返回的数组中是否存在特定方法

for (Method m : methods)
{
     if (m.getName().equals(someString))
     {
        //do something
     }
}

someString是您要查找的方法的名称,在您的情况下为“ isPointMarkCreationAllowed”。

使用以下站点来了解Java中的反射http://docs.oracle.com/javase/tutorial/reflect/member/methodType.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM