新聞中心
java 代碼中如何寫javascript語句
1.通過AJAX用JS訪問JAVA中的某個方法,然后在JAVA代碼中將JS代碼放到response的輸出流中,然后eval()返回的JS代碼。
創(chuàng)新互聯(lián)建站-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設、高性價比揚中網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式揚中網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設找我們,業(yè)務覆蓋揚中地區(qū)。費用合理售后完善,10余年實體公司更值得信賴。
2.JSP中可以嵌入java代碼塊,比如在jsp頁面中寫如下代碼:
script
%if(a==1){%
alert("abc");
%}%
/script
這樣頁面在加載的時候就會先執(zhí)行JAVA代碼,如果a==1了 alert("abc")這句JS代碼才會有。
希望滿足你的要求
java程序中運行js腳本
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
public class ExecJs {
/**
* 記錄日志類
*/
private Logger log = Logger.getLogger(ExecJs.class);
/**
* 后置處理,執(zhí)行js腳本
* @param js
* @throws Exception
*/
public void execJs(String js, MapString,Object map) throws Exception {
if (log.isDebugEnabled()) {
log.debug("execJs js : " + js);
IteratorEntryString, Object it = map.entrySet().iterator();
while (it.hasNext()) {
EntryString, Object entry = (EntryString, Object) it.next();
log.info("EXECJS MAP : " + entry.getKey() + "---" + entry.getValue());
}// end while
}// end if
if ("".equals(js) || js == null) {
log.info("EXECJS ERROR : JAVASCRIPT CONTENT IS NULL");
} else if(map == null || map.size()=0){
log.info("EXECJS ERROR : MAP CONTENT IS NULL");
} else {
// 獲取腳本引擎
ScriptEngineManager mgr = new ScriptEngineManager();
ScriptEngine engine = mgr.getEngineByName("javascript");
// 綁定數(shù)據(jù)
ScriptContext newContext = new SimpleScriptContext();
Bindings bind = newContext.getBindings(ScriptContext.ENGINE_SCOPE);
bind.putAll(map);
try {
engine.setBindings(bind, ScriptContext.ENGINE_SCOPE);
engine.eval(js);
} catch (Exception e) {
log.info("EXECJS EXCEPTION : EXECUTE JAVASCRIPT EXCEPTION", e);
throw (e);
}// end try
}// end if
}
}
如何用java執(zhí)行指定頁面中的js代碼
要在java中執(zhí)行js代碼,首先明白,java不支持瀏覽器本身的方法。支持自定義的js方法,否則會報錯
先新建一個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; ? ?// 調用merge方法,并傳入兩個參數(shù)
Double c = (Double)invoke.invokeFunction("aa", 2, 3); //調用了js的aa方法
System.out.println(c);
}
// engine.eval("alert(\"js alert\");"); ? ?// 不能調用瀏覽器中定義的js函數(shù) // 錯誤,會拋出alert引用不 ? ?}
}
怎么用java代碼創(chuàng)建js文件?。。?/h2>
方法一:file --》 new file-- 輸入javascript 【出現(xiàn)javascript 一個是項目 一個是file】--》直接選擇javascript 文件就可以了
方法2:右擊新建file 后綴名改成js 就可以了
網(wǎng)站名稱:java代碼輸出js腳本 java腳本編程
瀏覽地址:http://fisionsoft.com.cn/article/hiehpi.html