JavaScript的對象怎么在java后臺調(diào)用
10年積累的網(wǎng)站設(shè)計、做網(wǎng)站經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有石棉免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
//?java調(diào)用js腳本的例子?
ScriptEngineManager?scriptEngineMgr?=?new?ScriptEngineManager();
ScriptEngine?jsEngine?=?scriptEngineMgr.getEngineByName("JavaScript");
StringBuffer?sb?=?new?StringBuffer();
//?組裝js代碼,也可以從文件讀入腳本到sb變量?
jsEngine.put("myContext",?myContext);//?放置其他參數(shù)
jsEngine.eval(sb.toString());//?解析、執(zhí)行腳本
一、為Test寫一個方法,不妨為dataToString(),把字符串?dāng)?shù)組變成一個字符串,格式為“
["A","B","C"]
但要注意字符中A中可能會含有雙引號,所以需要替換"為"
二、在前臺JSP頁面中輸出一段這樣的語句:
script
var str = "%=Test.toDataString()%";
var arr = (str);
window.onload = function(){
for(var i=0;iarr.length;i++){
//to do something
}
}
/script
另一種方法就是在window.onload中用AJAX去取。利用AJAX必須寫servlet。因為前面一種方法的jsp和servlet是等同的。
js方法中調(diào)用java的參數(shù)
input type="image"
src="../../images/icons/setParmeter.jpg" onclick="Block(%=flag%)" /
input type="text" id="isparemeter" value="%=flag%"/
一般的瀏覽器中是無法通過js調(diào)用本地java程序的,但是可以調(diào)用嵌入到網(wǎng)頁的applet的方法。交互方式如下:
applet?codebase?=?"."?width?=?"400"?height??=?"400"
name=?"MyApplet"?code?=?"test.applets.MyApplet1.class"?
script
//?js訪問applet屬性:document.appletName.appletField?(屬性必須是public的)?
//?js訪問Applet方法:document.appletName.appletMethod?(方法必須是public的)
function?showLable{
//?調(diào)用test.applets.MyApplet1類的invokeByJS方法?
document.applets["MyApplet"].invokeByJS('myvalue');
}
/script
java后臺使用什么寫的呢?
如果是servlet,你可以在sevlet中使用x.setAttribute(key,value);來存放一個值,其中的x是作用與對象,可以是page、request、session、application等作用域?qū)ο蟆?/p>
然后再前臺可以使用%=x.getAttribute(key)來獲取,并賦值給你的var a就可以了。
或者,你還可以使用jstl來獲取,比如你存到request中了,就可以使用${requestScope.key}來獲取。
如果后臺使用的struts,直接用ognl來取得就可以了。
如果你是在JSP頁面里,在js代碼里可以用% ...java代碼....%
不過不建議混編,最好JS和JAVA代碼分開,JS可以通過AJAX調(diào)用訪問JAVA提供的接口,利于后期維護(hù)。
題主的問題回答:
方法1.提供一個servlet ,在servlet中調(diào)用getAllEmployees()
方法,把響應(yīng)的值寫入response,修改響應(yīng)頭為application/json,在頁面使用ajax訪問servlet,最后處理響應(yīng)值
方法2..提供一個servlet ,在servlet中調(diào)用getAllEmployees()
方法,把響應(yīng)的值存入request作用域,在JSP頁面中使用EL表達(dá)式獲取值
\r\n\r\n//上面我用java代碼根據(jù)id取得了一個user類的實體 u 下面就可以用js操作顯示等等\r\nalert();//在窗口打印一個用戶名\r\n\r\n