這樣寫(xiě)是不行的,java是在
創(chuàng)新互聯(lián)2013年開(kāi)創(chuàng)至今,是專(zhuān)業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元翁牛特做網(wǎng)站,已為上家服務(wù),為翁牛特各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18980820575
服務(wù)器端
運(yùn)行的,
javascript
是在客戶(hù)端運(yùn)行的。你要在客戶(hù)端運(yùn)行
java程序
可以試試applet
可以使用jsp的腳本或表達(dá)式,如以下代碼:
%
out.println(new java.uti.Data());
%
js是在前端運(yùn)行的(瀏覽器),java是后臺(tái)運(yùn)行的(服務(wù)器)。不存在在js中嵌入java語(yǔ)句,樓上的回復(fù)應(yīng)該說(shuō)是在java中嵌入js內(nèi)容,因?yàn)榉?wù)器會(huì)把jsp中的java代碼塊先執(zhí)行了,生成和其他html或js的代碼組合后的內(nèi)容再發(fā)送給瀏覽器解析。所以應(yīng)該理解為在java(jsp也可以理解為特殊的java類(lèi))中嵌入js代碼?;蛘吣憧梢匀チ私庀耡jax或許可以給你新的啟發(fā)
關(guān)鍵是 %pdao.delpinfo(sfzh);% 這里。
這句在頁(yè)面加載成功就已經(jīng)執(zhí)行了,不受js代碼段控制的。(java代碼優(yōu)先執(zhí)行,并且輸出動(dòng)態(tài)內(nèi)容,生成靜態(tài)頁(yè)面后,js才開(kāi)始執(zhí)行)
如果要讓js控制操作邏輯,去判斷是否發(fā)送新的請(qǐng)求,可以用ajax、或用js去操作一個(gè)form提交,或者用js去操作一個(gè)iframe去進(jìn)行指定url跳轉(zhuǎn)。
總的來(lái)說(shuō)就是用js去發(fā)送http請(qǐng)求。
1、寫(xiě)一個(gè)新的action或 xxx.jsp,專(zhuān)門(mén)執(zhí)行pdao.delpinfo(sfzh);
2、用ajax,或form,或隱藏的iframe去請(qǐng)求這個(gè)xxx.jsp
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;//通過(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)單的類(lèi)的測(cè)試程序publicstaticvoidmain(String[]args)throwsIOException,ScriptException{Configurationdefaults=newConfiguration();defaults.load(args[0]);Set
你好,javascript中還真可以插入java代碼,有兩種情況
1、在寫(xiě)jsp代碼里,可以直接在寫(xiě)javascript中插入jsp代碼,這個(gè)很好理解
2、另一種情況是,客戶(hù)端的javascript想調(diào)用java代碼,你知道html里可以嵌套java的applet吧,這樣你就明白了,javascript可以調(diào)用applet里的java方法
有問(wèn)題留下QQ,我可以把代碼發(fā)給你