欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

java調(diào)用javascript,Java調(diào)用方法

java怎么調(diào)用javascript

可參考:

創(chuàng)新互聯(lián)建站是一家集網(wǎng)站建設(shè),關(guān)嶺企業(yè)網(wǎng)站建設(shè),關(guān)嶺品牌網(wǎng)站建設(shè),網(wǎng)站定制,關(guān)嶺網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,關(guān)嶺網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

package javaIjs;

/**

* @param args

*/

import java.io.FileReader;

import javax.script.Invocable;

import javax.script.ScriptEngine;

import javax.script.ScriptEngineManager;

/**

* Java調(diào)用并執(zhí)行js文件,傳遞參數(shù),并活動(dòng)返回值

*

* @author manjushri

*/

public class ScriptEngineTest {

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

ScriptEngineManager manager = new ScriptEngineManager();

ScriptEngine engine = manager.getEngineByName("javascript");

String jsFileName = System.getProperty("user.dir")+"/src/javaIjs/expression.js";

// 讀取js文件

FileReader reader = new FileReader(jsFileName);

// 執(zhí)行指定腳本

System.out.println(engine.getContext().getReader());

engine.eval(reader);

if (engine instanceof Invocable) {

Invocable invoke = (Invocable) engine;

// 調(diào)用merge方法,并傳入兩個(gè)參數(shù)

// c = merge(2, 3);

Double c = (Double) invoke.invokeFunction("merge1", 21, 3);

System.out.println("c = " + c);

}

reader.close();

}

}

java調(diào)用請(qǐng)求頁(yè)面js方法有哪些

其實(shí)網(wǎng)上有很多方法

/** 加載腳本引擎,并在java中調(diào)用js方法 */

public void test2(){

ScriptEngineManager manager = new ScriptEngineManager();

ScriptEngine engine = manager.getEngineByName("javascript");

try {

String str="21";

Double d = (Double) engine.eval(str);

Integer i=d.intValue();

System.out.println(i);

} catch (ScriptException ex) {

ex.printStackTrace();

} }

/*

* 在java中調(diào)用js,jdk1.6中有加載js引擎類,然后由它來(lái)調(diào)用js方法。

* 并通過(guò)JDK平臺(tái)給script的方法中的形參賦值

*/

public void test(String name)

{

ScriptEngineManager sem = new ScriptEngineManager();

/**sem.getEngineByExtension(String extension)參數(shù)為js

sem.getEngineByMimeType(String mimeType) 參數(shù)為application/javascript 或者text/javascript

sem.getEngineByName(String shortName)參數(shù)為js或javascript或JavaScript

*/

ScriptEngine se = sem.getEngineByName("js");

try

{

String script = "function say(){ return 'hello,'"+name+"; }";

se.eval(script);

Invocable inv2 = (Invocable) se;

String res=(String)inv2.invokeFunction("say",name);

System.out.println(res);

}

catch(Exception e)

{

e.printStackTrace();

}

}

/** 演示如何將java中對(duì)象作為js中全局變量,同時(shí)演示將file類賦給腳本語(yǔ)言,并獲得其屬性。

*/

public void testScriptVariables()

{

ScriptEngineManager sem=new ScriptEngineManager();

ScriptEngine engine=sem.getEngineByName("js");

File file=new File("c:\\1.txt");

engine.put("f", file);

try {

engine.eval("println('path:'+f.getPath())");//無(wú)法使用alert方法

} catch (ScriptException e) {

e.printStackTrace();

}

}

/*

* 演示如何在java中如何通過(guò)線程來(lái)啟動(dòng)一個(gè)js方法

*/

public void testScriptInterface() throws ScriptException

{

ScriptEngineManager sem=new ScriptEngineManager();

ScriptEngine engine=sem.getEngineByName("js");

String script="var obj=new Object();obj.run=function(){println('test thread')}";

engine.eval(script);

Object obj=engine.get("obj");//獲取js中對(duì)象

Invocable inv=(Invocable)engine;

Runnable r=inv.getInterface(obj,Runnable.class);

Thread t=new Thread(r);

t.start();

}

如何在java中調(diào)用js方法

在Java中調(diào)用js文件中的function,傳入調(diào)用參數(shù),并獲取返回值

js文件中的merge函數(shù)將兩個(gè)參數(shù)a,b相加,并返回c。

// expression.js

function merge(a, b) {

c = a * b;

return c;

}

在Java代碼中讀取js文件,并參數(shù)兩個(gè)參數(shù),然后回去返回值。

package com.sinaapp.manjushri;

import java.io.FileReader;

import javax.script.Invocable;

import javax.script.ScriptEngine;

import javax.script.ScriptEngineManager;

/** * Java調(diào)用并執(zhí)行js文件,傳遞參數(shù),并活動(dòng)返回值 * * @author manjushri */

public class ScriptEngineTest {

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

ScriptEngineManager manager = new ScriptEngineManager();

ScriptEngine engine = manager.getEngineByName("javascript");

String jsFileName = "expression.js"; // 讀取js文件

FileReader reader = new FileReader(jsFileName); // 執(zhí)行指定腳本

engine.eval(reader);

if(engine instanceof Invocable) {

Invocable invoke = (Invocable)engine; // 調(diào)用merge方法,并傳入兩個(gè)參數(shù)

// c = merge(2, 3);

Double c = (Double)invoke.invokeFunction("merge", 2, 3);

System.out.println("c = " + c);

}

reader.close();

}

}

輸出結(jié)果:

c = 5.0

分享文章:java調(diào)用javascript,Java調(diào)用方法
當(dāng)前鏈接:http://chinadenli.net/article2/dsedeic.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)軟件開(kāi)發(fā)企業(yè)網(wǎng)站制作靜態(tài)網(wǎng)站小程序開(kāi)發(fā)動(dòng)態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化