繁体   English   中英

如何从JSNI调用Dll方法在GWT Web应用程序中使用?

[英]How to call Dll method from JSNI to use in GWT web application?

我有一个GWT Web应用程序。

它从另一个类调用方法(使用JSNI方法)。

但是我想从那个类中调用一个dll方法......我怎么能这样做?

public class external_class {
public native void shows()/*-{window.alert("hello");}-*/;
}

在GWT Web应用程序中调用

external_class obj = new external_class();
            obj.shows();

如果我在dll文件中定义它,如何调用shows()方法? 或者如何通过JSNI从GWT应用程序直接调用dll方法?

请给我一个解决方案....

你不能在GWT中调用DLL。 GWT将Java代码编译为在Web浏览器内运行的Javascript代码。 Javascript不能直接调用DLL,如果你想用DLL做一些事我建议你看一下浏览器插件。

在浏览器插件中,您可以包含您的DLL(仅限Windows)并让您的javascript调用该插件。

对我而言,你需要使用Applet和jnlp来加载本机库。从那里你可以使用JSObject或像GWT-AI这样的库在GWT和applet之间进行通信(我个人只需手动编写代码,我只使用了GWT-AI几次)。 我相信applet方面你可以使用JNA进行绑定。

如果这没有意义,或听起来有点像胡言乱语,你可能需要寻求帮助,在java和本地库之间带来很多可能会出错,你可能需要更专业的帮助才能在这方面取得进展,这很棘手。

暂无
暂无

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

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