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

java文件中寫js代碼,js調(diào)用java文件

如何用java執(zhí)行指定頁面中的js代碼

要在java中執(zhí)行js代碼,首先明白,java不支持瀏覽器本身的方法。支持自定義的js方法,否則會(huì)報(bào)錯(cuò)

成都創(chuàng)新互聯(lián)專注于霞山網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供霞山營銷型網(wǎng)站建設(shè),霞山網(wǎng)站制作、霞山網(wǎng)頁設(shè)計(jì)、霞山網(wǎng)站官網(wǎng)定制、小程序制作服務(wù),打造霞山網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供霞山網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

先新建一個(gè)js文件:jsss.js

內(nèi)容如下:

function aa(a,b){ ? ?return a+b;

}

然后在java中寫代碼:

public class ZipTest {

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

ScriptEngineManager manager = new ScriptEngineManager();

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

String jsFileName="G:\\javaPro\\zmwmcc\\WebRoot\\jsss.js";

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

if(engine instanceof Invocable) {

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

Double c = (Double)invoke.invokeFunction("aa", 2, 3); //調(diào)用了js的aa方法

System.out.println(c);

}

// engine.eval("alert(\"js alert\");"); ? ?// 不能調(diào)用瀏覽器中定義的js函數(shù) // 錯(cuò)誤,會(huì)拋出alert引用不 ? ?}

}

如何把java代碼嵌入到j(luò)avascript中

1.取得腳本解釋器的管理器Manager

2.從管理器中取得js的解釋器實(shí)例ScriptEngine

3.取得存儲(chǔ)javascript變量的Bindings實(shí)例

4.把一個(gè)java.io.Reader流及Bindings傳遞給ScriptEngine的eval方法返回腳本運(yùn)行結(jié)果,如果執(zhí)行中發(fā)生錯(cuò)誤,會(huì)拋出ScriptException異常。

例:運(yùn)行javascript腳本的一個(gè)java程序

throwsIOException{ScriptEngineManagerscriptManager=newScriptEngineManager;//從管理器中獲取js的解釋器//定義我們要運(yùn)行的腳本文件Stringfilename=null;//通過解釋器來獲得存儲(chǔ)javascript變量的Bindings的實(shí)例,使它們提供給腳本。Bindingsbindings=js.createBindings;//在map中獲取和設(shè)置值的方法publicObjectget;//使用我們的name/value對(即javascript變量)Bindingsbindings=newSimpleBindings(defaults);//創(chuàng)建一個(gè)變量,用于存放腳本執(zhí)行的內(nèi)容ScriptContextcontext=newSimpleScriptContext();//設(shè)置那些Bindings在Context中,使它們可讀。但這樣的變量定義的腳本不要放入我們的Map中context.setBindings(bindings,ScriptContext.GLOBAL_SCOPE);BufferedReaderin=newBufferedReader(newFileReader(filename));Stringline;while((line=in.readLine())!=null){line=line.trim();if(line.length()==0)continue;//跳過空行if(line.charAt(0)==‘#‘)continue;//跳過命令intpos=line.indexOf(":");if(pos==-1){thrownewIllegalArgumentException("syntax:"+line);}Stringname=line.substring(0,pos).trim();Stringvalue=line.substring(pos+1).trim();charfirstchar=value.charAt(0);intlen=value.length();charlastchar=value.charAt(len-1);if(firstchar==‘"‘lastchar==‘"‘){//雙引號(hào)引用的值為字符串defaults.put(name,value.substring(1,len-1));}elseif(Character.isDigit(firstchar)){//如果開始是一個(gè)數(shù)字try{doubled=Double.parseDouble(value);defaults.put(name,value);}catch(NumberFormatExceptione){//沒有數(shù)字,是一個(gè)stringdefaults.put(name,value);}}elseif("true".equals(value)){//處理布爾值defaults.put(name,Boolean.TRUE);}elseif("false".equals(value)){defaults.put(name,Boolean.FALSE);}elseif("null".equals(value)){//處理null值defaults.put(name,null);}elseif(firstchar==‘{‘lastchar==‘}‘){//如果值是在一對大括號(hào)之內(nèi),則執(zhí)行javascript代碼Stringscript=value.substring(1,len-1);Objectresult=engine.eval(script,context);defaults.put(name,result);}else{//其它情況,剛好是一個(gè)字符串defaults.put(name,value);}}}//一個(gè)簡單的類的測試程序publicstaticvoidmain(String[]args)throwsIOException,ScriptException{Configurationdefaults=newConfiguration();defaults.load(args[0]);Set

java腳本里怎么寫javascript

HTML中標(biāo)簽的id是唯一的,document.all返回的應(yīng)該個(gè)數(shù)組,通過id去找標(biāo)簽,只能找到一個(gè),就是最后一個(gè)id等于你所指的那個(gè)。

你看看我給你的是不是你想要的結(jié)果:

script

function show(isChecked,showName,num){

for(var n = 1; n = num; n++){

document.getElementById(showName + n).style.display=isChecked ? 'block' : 'none';

}

}

/script

div

table width="100%" border="1" cellspacing="0" cellpadding="0"

tr

tdinput name=checkbox2 type=checkbox onclick="show(this.checked,'jf',2)"aaa/td

tdinput name=checkbox3 type=checkbox onclick="show(this.checked,'eth',2)"bbb/td

tdinput name=checkbox5 type=checkbox onclick="show(this.checked,'grid',2)"ccc/td

/tr

/table

table width="100%" border="1" cellspacing="0" cellpadding="0"

tr

td id="jf1" style="display:none"aaa/td

td id="eth1" style="display:none"bbb/td

td id="grid1" style="display:none"ccc/td/td

/tr

tr

td id="jf2" style="display:none"aaa/td

td id="eth2" style="display:none"bbb/td

td id="grid2" style="display:none"ccc/td/td

/tr

/table

/div

java中可以使用js代碼嗎

jsp中可以將java,js,htm糅合在一起,這是一種用法,另外如果你用過servlet,就會(huì)知道本身servlet調(diào)用輸出方法可以生成HTML,那也是可以用js代碼的。

網(wǎng)站欄目:java文件中寫js代碼,js調(diào)用java文件
URL標(biāo)題:http://chinadenli.net/article39/dseodsh.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作用戶體驗(yàn)關(guān)鍵詞優(yōu)化定制網(wǎng)站域名注冊App設(shè)計(jì)

廣告

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

手機(jī)網(wǎng)站建設(shè)