「javajs交互」js怎么和java交互

博主:adminadmin 2022-11-29 03:51:09 42

本篇文章给大家谈谈javajs交互,以及js怎么和java交互对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

如何在java中调用js方法

js代码如下:

[javascript] view plain copy

function formula(var1,var2){

return var1+var2-factor;

}

java代码如下:

[java] view plain copy

import java.io.FileNotFoundException;

import java.io.FileReader;

import java.util.Scanner;

import javax.script.Bindings;

import javax.script.Invocable;

import javax.script.ScriptContext;

import javax.script.ScriptEngine;

import javax.script.ScriptEngineManager;

import javax.script.ScriptException;

public class AboutJavaScript {

public static void main(String[] args) throws Exception {

ScriptEngine engine=new ScriptEngineManager().getEngineByName("javascript");

Bindings bind = engine.createBindings();

bind.put("factor", 1);

engine.setBindings(bind, ScriptContext.ENGINE_SCOPE);

Scanner input=new Scanner(System.in);

while (input.hasNextInt()) {

int first= input.nextInt();

int sec=input.nextInt();

System.out.println("输入参数是:"+first+","+sec);

engine.eval(new FileReader("F:/model.js"));

if(engine instanceof Invocable){

Invocable in =(Invocable) engine;

Double result=(Double) in.invokeFunction("formula", first,sec);

System.out.println("运行结果:"+result.intValue());

}

}

}

}

webview 远程js调用本地java实现交互怎么做?

可以,只要你是用webview打开的,那么不管事远程还是本地,都可以通过webview与app的本地java代码进行交互。没有任何区别。

1、webview必须设置支持Javascript

mWebview.getSettings().setJavaScriptEnabled(true);

2、加进一个回调的代理类JavaScriptInterface,并给它一个调用的名称:ncp

mWebView.addJavascriptInterface(new JavaScriptInterface(), "ncp");

final class JavaScriptInterface { 

       public int callOnJs() {

                        

          return 1000;

       }

 

       public void callOnJs2(String mode) {

         //TODO

       }

   

  }

3、JS页面

script type="text/javascript"  

        window.onload = function(){  

                document.getElementById('btn_1').addEventListener('click', onBtnClick, false);  

                var _int_value = window.ncp.callOnJs();  

                alert("get int from java:" + _int_value );  

        }  

        function onBtnClick() {  

                window.ncp.callOnJs2("click");  

        }  

  /script

接下来就可以调用js方法了,

1、Java调用js方法

mWebView.loadUrl("javascript:onSaveCallback()");

2、JS访问java方法

window.ncp.callOnJs2("click");

在Android上怎样实现JAVA和JS交互

Java代码mWebview.getSettings().setJavas criptEnabled(true);

然后是设置webview要加载的网页:

web的网页:webView.loadUrl("http //www google com");

本地的网页:webView.loadUrl("file ///android_asset/XX.html"); //本地的存放在:assets文件夹中

webview做完基本的初始化后我们还要要给它,加进一个回调的代理类Javas criptInterface,并给它一个调用的名称:ncp

Java代码

mWebView.addJavas criptInterface(new Javas criptInterface(),"ncp");

Javas criptInterface可以是一个普通的Java类,类实现的方法,均可被js回调:

Java代码

final class Javas criptInterface {

public int callOnJs() {

return 1000;

}

public void callOnJs2(String mode) {

//TODO

}

}

Java要调用js的方法,只需知道js的方法名称即可:

Java代码

mWebView.loadUrl("javas cript:onSaveCallback()");

js 这边就更简单:

Js代码

window.onload = function(){

document.getElementById('btn_1').addEventListener('click', onBtnClick, false);

var _int_value = window.ncp.callOnJs();

alert("get int from java:" + _int_value );

}

function onBtnClick() {

window.ncp.callOnJs2("click");

}

Java和JS之间的交互有哪几种

问的问题本身就是错误的,没有所谓的js与java交互,只有浏览器与服务器交互,无论是传统页面跳转还是ajax都是浏览器与服务器交互。js可以被其它浏览器脚本语言替代,java也可以被其它服务器语言替代。作为语言本身,并不与另外语言有所交集。

本质上都是http请求,一个请求分为请求行、请求头、和请求体

关于javajs交互和js怎么和java交互的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-29,除非注明,否则均为首码项目网原创文章,转载请注明出处。