我需要桥接一个相当程序化的Javascript库,该库由一些包含从GWT调用函数的.js文件组成。
已经有一个名为GWT-Exporter的很好的实用工具完全相反(http://code.google.com/p/gwt-exporter/),我需要一种自动生成的GWT-Importer。 javascript函数的java包装器。
我知道类型是一个问题,但如果所有返回类型都变成JavaScriptObject或原语,我会满意。
JSNI似乎是这样,但我想要一些自动创建类的东西,而不是通过JSNI手动绑定所有方法。
答案 0 :(得分:3)
这听起来像是JSNI的工作。
http://code.google.com/webtoolkit/doc/latest/DevGuideCodingBasicsJSNI.html
如果您知道要调用哪些函数,则设置包含表示相关函数的静态方法的单个实用程序类相当容易。
假设您有一个JavaScript库,您希望将函数foo()
和bar(number)
公开给您的GWT应用程序。您需要执行以下操作。
war
目录中。 (如果是外部托管,则不需要。)<script>
标记来包含脚本
public final class LibraryName {
public static native int foo() /*-{
$wnd.foo(); // Use $wnd instead of window in JSNI methods
}-*/;
public static native void bar(double number) /*-{
$wnd.bar(number)
}-*/;
}
有关JSNI的更深入的文章,请查看http://googlewebtoolkit.blogspot.com/2008/07/getting-to-really-know-gwt-part-1-jsni.html。