[英]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.