成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

java調用javascript,Java調用方法

java怎么調用javascript

可參考:

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

package javaIjs;

/**

* @param args

*/

import java.io.FileReader;

import javax.script.Invocable;

import javax.script.ScriptEngine;

import javax.script.ScriptEngineManager;

/**

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

*

* @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;

// 調用merge方法,并傳入兩個參數(shù)

// c = merge(2, 3);

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

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

}

reader.close();

}

}

java調用請求頁面js方法有哪些

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

/** 加載腳本引擎,并在java中調用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中調用js,jdk1.6中有加載js引擎類,然后由它來調用js方法。

* 并通過JDK平臺給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中對象作為js中全局變量,同時演示將file類賦給腳本語言,并獲得其屬性。

*/

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())");//無法使用alert方法

} catch (ScriptException e) {

e.printStackTrace();

}

}

/*

* 演示如何在java中如何通過線程來啟動一個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中對象

Invocable inv=(Invocable)engine;

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

Thread t=new Thread(r);

t.start();

}

如何在java中調用js方法

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

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

// expression.js

function merge(a, b) {

c = a * b;

return c;

}

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

package com.sinaapp.manjushri;

import java.io.FileReader;

import javax.script.Invocable;

import javax.script.ScriptEngine;

import javax.script.ScriptEngineManager;

/** * Java調用并執(zhí)行js文件,傳遞參數(shù),并活動返回值 * * @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; // 調用merge方法,并傳入兩個參數(shù)

// c = merge(2, 3);

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

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

}

reader.close();

}

}

輸出結果:

c = 5.0

分享文章:java調用javascript,Java調用方法
當前鏈接:http://jinyejixie.com/article2/dsedeic.html

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

廣告

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

搜索引擎優(yōu)化
龙州县| 黄大仙区| 通城县| 富裕县| 平武县| 通河县| 威远县| 光山县| 平度市| 大厂| 皮山县| 长阳| 克拉玛依市| 南雄市| 阳曲县| 遵义县| 会同县| 图片| 江西省| 榕江县| 新干县| 台南县| 胶南市| 璧山县| 津南区| 英德市| 女性| 武冈市| 石渠县| 淳化县| 城步| 南通市| 邹平县| 麻城市| 茌平县| 进贤县| 丽水市| 辽阳县| 福安市| 马公市| 曲松县|