大家好,今天小编关注到一个比较有意思的话题,就是关于js语言调用java函数的问题,于是小编就整理了2个相关介绍js语言调用Java函数的解答,让我们一起看看吧。
网页调用j***a程序?
静态的html标签是无法直接调用j***a程序的有几种方法可以实现1、将按钮放到form表单中,当按钮点击时提交表单(或者直接将input的type属性定义成submit),表单可以指向JSP或Servlet,在JSP或Servlet里调用j***a程序2、在按钮的onclick时间中添加js代码self.location="url";其中url指向JSP或Servlet3、使用第三方的javascript包,dwr是一个不错的选择:需要准备dwr的jar包,并将之放到lib目录下;修改web.xml文件,添加DWRServlet的映射;配置dwr,即在WEB-INF目录下,添加dwr.xml文件,让dwr知道在运行的时候应该给哪些J***aBean生成相应的Javascript库!将需要的脚本库引入到html页面中就可以通过dwr的API访问j***a类了不是很难,网上参考资料挺多的4、使用MVC框架的话就更简单了,以struts为例,可以仿照1或2,将url替换成配置文件中配置的地址就能访问j***a程序了
webview远程js调用本地j***a实现交互怎么做?
可以,只要你是用webview打开的,那么不管事远程还是本地,都可以通过webview与app的本地j***a代码进行交互。没有任何区别。
1、webview必须设置支持JavaScript
mWebview.getSettings().setJ***aScriptEnabled(true);
2、加进一个回调的代理类J***aScripterface,并给它一个调用的名称:ncp
mWebView.addJ***ascriptInterface(new J***aScriptInterface(), "ncp");final class J***aScriptInterface { public int callOnJs() { return 1000; } public void callOnJs2(String mode) { //TODO } }
3、JS页面
<script type="text/j***ascript"> window.onload = function(){ document.getElementById('***n_1').addEventListener('click', on***nClick, false); var _int_value = window.ncp.callOnJs(); alert("get int from j***a:" + _int_value ); } function on***nClick() { window.ncp.callOnJs2("click"); } </script>
接下来就可以调用js方法了,
1、J***a调用js方法
mWebView.loadUrl("j***ascript:onS***eCallback()");
到此,以上就是小编对于js语言调用j***a函数的问题就介绍到这了,希望介绍关于js语言调用j***a函数的2点解答对大家有用。