当前位置:  开发笔记 > 编程语言 > 正文

如何在调用javascript函数时调用gwt函数

如何解决《如何在调用javascript函数时调用gwt函数》经验,为你挑选了1个好方法。

我正在研究一个关于在Android上嵌入web应用程序的项目,遵循WebView演示,但是当Android应用程序调用javascript函数'wave'时我需要调用gwt函数:


    
    
        
        
package mypackage; public MyUtilityClass { //Method to be called from javascript, could be in any other class too public static int computeLoanInterest(int amt, float interestRate, int term) { ... } //This method should be called during application startup public static native void exportStaticMethod() /*-{ //the function named here will become available in javascript scope $wnd.computeLoanInterest = $entry(@mypackage.MyUtilityClass::computeLoanInterest(IFI)); }-*/; }

编辑:

将参数传递给Java方法:

当您从javascript调用带有参数的Java方法时,您需要使用特定的语法:

[instance-expr.]@class-name::method-name(param-signature)(arguments)

例如,调用带有String参数的静态方法将如下所示:

@com.google.gwt.examples.JSNIExample::staticFoo(Ljava/lang/String;)(s);

请注意,当我们调用静态方法时,'instance-expr.' 省略.其余代码是完全限定的类名,后跟::和方法名.该Ljava/lang/String;方法名称后,指定我们需要调用,需要一个String对象作为参数的方法.最后s是该参数的实际值.

请记住,Ljava/lang/String;在我们的示例中,param-signature 在语法中使用JNI类型签名规范,并且即使存在多个具有相同名称的重载方法,GWT编译器也需要选择正确的方法.param-signature即使方法没有超载,也需要A.

推荐阅读
黄晓敏3023
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有