为了方便网页和Android应用的交互,Android系统提供了WebView中JavaScript网页脚本调用Java类方法的机制。只要调用addJavascriptInterface方法即可映射一个Java对象到JavaScript对象上。
创新互联建站专注于琼海网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供琼海营销型网站建设,琼海网站制作、琼海网页设计、琼海网站官网定制、重庆小程序开发公司服务,打造琼海网络公司原创品牌,更为您提供琼海网站排名全网营销落地服务。
1、映射Java对象到JavaScript对象上
代码如下:
mWebView = (WebView) findViewById(R.id.wv_content);
mWebView.setVerticalScrollbarOverlay(true);
final WebSettings settings = mWebView.getSettings();
settings.setSupportZoom(true);
//WebView启用Javascript脚本执行
settings.setJavaScriptEnabled(true);
settings.setJavaScriptCanOpenWindowsAutomatically(true);
//映射Java对象到一个名为”js2java“的Javascript对象上
//JavaScript中可以通过"window.js2java"来调用Java对象的方法
mWebView.addJavascriptInterface(new JSInvokeClass(), "js2java");
代码如下:
/**网页Javascript调用接口**/
class JSInvokeClass {
public void back() {
activity.finish();
}
}
2、JavaScript调用Java对象示例
调用上述JSInvokeClass类对象的back方法,如下:
复制代码 代码如下:
window.js2java.back();
js不能直接调用java代码。
可以通过页面提交后台的方式,间接调用后台的服务java代码。
也可以通过ajax的方式,调用后台的服务java代码。
两种方式稍有差别,不过都是前后台的通信交互。
调试jsp中的java代码,可以通过 Syste.out.println(); 在控制台打印输出 。 感觉哪一行代码有问题就在那个代码后面写上输出语句。 代码都是重上往下一行一行执行的 。