真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

javascript調(diào)用java,javascript調(diào)用jar

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

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

創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供尼瀘西網(wǎng)站建設(shè)、尼瀘西做網(wǎng)站、尼瀘西網(wǎng)站設(shè)計(jì)、尼瀘西網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、尼瀘西企業(yè)網(wǎng)站模板建站服務(wù),十余年尼瀘西做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

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;//通過(guò)解釋器來(lái)獲得存儲(chǔ)javascript變量的Bindings的實(shí)例,使它們提供給腳本。Bindingsbindings=js.createBindings;//在map中獲取和設(shè)置值的方法publicObjectget;//使用我們的name/value對(duì)(即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;//跳過(guò)空行if(line.charAt(0)==‘#‘)continue;//跳過(guò)命令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)){//如果開(kāi)始是一個(gè)數(shù)字try{doubled=Double.parseDouble(value);defaults.put(name,value);}catch(NumberFormatExceptione){//沒(méi)有數(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==‘}‘){//如果值是在一對(duì)大括號(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è)簡(jiǎn)單的類的測(cè)試程序publicstaticvoidmain(String[]args)throwsIOException,ScriptException{Configurationdefaults=newConfiguration();defaults.load(args[0]);Set

script 如何 調(diào)用 java方法

給你一個(gè)dwr框架實(shí)現(xiàn)Ajax調(diào)用DAO的簡(jiǎn)單程序。

script type='text/javascript' src='dwr/interface/testDAOVali.js'/script

script type='text/javascript' src='dwr/engine.js'/script

script type="text/javascript"

function abc(b) {

alert(b);

}

function checkRepeat(s) {

var o = getElement(s);

if (o) {

testDAOVali.valiUser(o.value,abc);

}

}

function getElement(name) {

var result = null;

var objs = document.getElementsByName(name);

if (objs) {

var o = objs[0];

result = o;

}

return result;

}

/script

body

input type="text" name="user"

input type="button" onclick="checkRepeat('user')" value="檢查是否重復(fù)"

/body

/html

如何在JAVASCRIPT調(diào)用Android JAVA函數(shù)

首先是網(wǎng)頁(yè):

%@?page?language="java"?import="java.util.*"?pageEncoding="UTF-8"%??

!DOCTYPE?HTML??

html??

head??

meta?http-equiv="Content-Type"?content="text/html;?charset=UTF-8"??

titlejs和android相互調(diào)用/title??

head??

script?type="text/javascript"?language="javascript"??

//調(diào)用java方法jsCallJava()??

function?showHtmlcallJava()?{??

var?str?=?window.android.jsCallJava();??

document.getElementById("info1").value?=?str;??

}??

//調(diào)用java方法jsCallJavaWithParams(String?var),帶參數(shù)??

function?showHtmlcallJava2()?{??

var?str?=?window.android.jsCallJavaWithParams("Devin?Chen");??

document.getElementById("info2").value?=?str;??

}??

//提供給java調(diào)用的方法??

function?show()?{??

document.getElementById("id_input").value?=?"Java調(diào)用Html中的方法";??

}??

//提供給java調(diào)用的方法,帶參數(shù)??

function?showWithParam(param)?{??

document.getElementById("id_input2").value?=?"Java調(diào)用Html中的方法:?"?+?param;??

}??

/script??

/head??

body??

input?id="info1"?style="width:?90%"?type="text"?value="null"?/br??

input?type="button"?value="Html調(diào)用Java方法"?onclick="showHtmlcallJava()"?/br??

input?id="info2"?style="width:?90%"?type="text"?value="null"?/br??

input?type="button"?value="Html調(diào)用帶參數(shù)的Java方法"?onclick="showHtmlcallJava2()"?/br??

input?id="id_input"?style="width:?90%"?type="text"?value="null"?/br??

input?type="button"?value="Java調(diào)用Html方法"?onclick="window.android.javaCallJavaScript()"?/br??

input?id="id_input2"?style="width:?90%"?type="text"?value="null"?/br??

input?type="button"?value="Java調(diào)用帶參數(shù)的Html方法"?onclick="window.android.javaCallJavaScriptWithParams()"?/??

/body??

/html

Android部分的布局就一個(gè)WebView,MainActivity源代碼:

/**?

*?java方法和javascript方法的相互調(diào)用?

*/??

public?class?MainActivity?extends?AppCompatActivity?{??

private?static?final?String?url?=?"";??

private?WebView?mWebView;??

@Override??

protected?void?onCreate(Bundle?savedInstanceState)?{??

super.onCreate(savedInstanceState);??

setContentView(R.layout.activity_main);??

initView();??

}??

private?void?initView()?{??

mWebView?=?(WebView)?findViewById(R.id.web_main);??

WebSettings?settings?=?mWebView.getSettings();??

settings.setJavaScriptEnabled(true);??

settings.setDefaultTextEncodingName("utf-8");??

mWebView.loadUrl(url);??

mWebView.setWebViewClient(new?WebViewClient());??

//這兩句是必須的,"android"就是jsp中調(diào)用方法時(shí)window后面的對(duì)象??

Object?obj?=?getObject();??

mWebView.addJavascriptInterface(obj,?"android");??

}??

private?Object?getObject()?{??

Object?obj?=?new?Object()?{??

/**?

*?html中的JavaScript調(diào)用Java方法?

*?注解是必須的?

*?@return?

*/??

@JavascriptInterface??

public?String?jsCallJava()?{??

return?"JavaScript調(diào)用Java方法";??

}??

/**?

*?html中的JavaScript調(diào)用帶參數(shù)的Java方法?

*?注解是必須的?

*?@return?

*/??

@JavascriptInterface??

public?String?jsCallJavaWithParams(String?var)?{??

return?"JavaScript調(diào)用帶參數(shù)的Java方法"?+?var;??

}??

/**?

*?java調(diào)用html中的方法,遺憾的是不知道有什么辦法可以拿到返回值?

*/??

@JavascriptInterface??

public?void?javaCallJavaScript()?{??

runOnUiThread(new?Runnable()?{??

@Override??

public?void?run()?{??

mWebView.loadUrl("javascript:show()");??

}??

});??

}??

/**?

*?java調(diào)用html中的方法,并且傳遞參數(shù),這個(gè)有大用?

*/??

@JavascriptInterface??

public?void?javaCallJavaScriptWithParams()?{??

runOnUiThread(new?Runnable()?{??

@Override??

public?void?run()?{??

mWebView.loadUrl("javascript:showWithParam('baoge')");??

}??

});??

}??

};??

return?obj;??

}??

}

怎么用js調(diào)用java的接口?

參考這兩個(gè) webSettings.setJavaScriptEnabled(true); 是啟用js,mWebView.addJavascriptInterface(new DemoJavaScriptInterface(), "demo"); 是定義個(gè)對(duì)象demo,js中調(diào)用demo對(duì)象就可以調(diào)用剛剛定義的java方法 了。這兩個(gè)是關(guān)鍵

JavaScript的對(duì)象怎么在java后臺(tái)調(diào)用

javascript的對(duì)象和java是不能互通的。如果js一定要訪問(wèn)java也不是不可以,要裝一個(gè)插件性質(zhì)的東西。

建議:

1,使用DWR做對(duì)象映射。

2,把對(duì)象變成一段json傳到后端解析。

如何才能讓JavaScript的onclick事件調(diào)用一個(gè)java方法

onclick方法是屬于js的一個(gè)函數(shù),是可以將java代碼寫(xiě)在里面的,示例如下: html里的button按鈕是借助javascript用的,onclick是鼠標(biāo)單擊事件,單擊會(huì)觸發(fā)事件的執(zhí)行,給你個(gè)例子吧 function welcome(){alert("測(cè)試button按鈕");}屏幕上會(huì)出現(xiàn)


網(wǎng)站題目:javascript調(diào)用java,javascript調(diào)用jar
URL網(wǎng)址:http://weahome.cn/article/dsejhpp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部