时间:2021-05-19
本文实例讲述了java编程中实现调用js方法。分享给大家供大家参考,具体如下:
/** 加载脚本引擎,并在java中调用js方法*/public void test2(){ ScriptEngineManager manager = new ScriptEngineManager(); ScriptEngine engine = manager.getEngineByName("javascript"); try { String str="2&1"; Double d = (Double) engine.eval(str); Integer i=d.intValue(); System.out.println(i); } catch (ScriptException ex) { ex.printStackTrace(); }}/** 在java中调用js,jdk1.6中有加载js引擎类,然后由它来调用js方法。* 并通过JDK平台给script的方法中的形参赋值*/public void test(String name){ ScriptEngineManager sem = new ScriptEngineManager(); /* *sem.getEngineByExtension(String extension)参数为js sem.getEngineByMimeType(String mimeType) 参数为application/javascript 或者text/javascript sem.getEngineByName(String shortName)参数为js或javascript或JavaScript */ ScriptEngine se = sem.getEngineByName("js"); try { String script = "function say(){ return 'hello,'"+name+"; }"; se.eval(script); Invocable inv2 = (Invocable) se; String res=(String)inv2.invokeFunction("say",name); System.out.println(res); } catch(Exception e) { e.printStackTrace(); }}/** 演示如何将java中对象作为js中全局变量,同时演示将file类赋给脚本语言,并获得其属性。*/public void testScriptVariables(){ ScriptEngineManager sem=new ScriptEngineManager(); ScriptEngine engine=sem.getEngineByName("js"); File file=new File("c://1.txt"); engine.put("f", file); try { engine.eval("println('path:'+f.getPath())");//无法使用alert方法 } catch (ScriptException e) { e.printStackTrace(); }}/** 演示如何在java中如何通过线程来启动一个js方法*/public void testScriptInterface() throws ScriptException{ ScriptEngineManager sem=new ScriptEngineManager(); ScriptEngine engine=sem.getEngineByName("js"); String script="var obj=new Object();obj.run=function(){println('test thread')}"; engine.eval(script); Object obj=engine.get("obj");//获取js中对象 Invocable inv=(Invocable)engine; Runnable r=inv.getInterface(obj,Runnable.class); Thread t=new Thread(r); t.start();}更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java字符与字符串操作技巧总结》、《Java数组操作技巧总结》、《Java数学运算技巧总结》、《Java编码操作技巧总结》和《Java数据结构与算法教程》
希望本文所述对大家java程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例分析了Java中递归原理。分享给大家供大家参考。具体分析如下:解释:程序调用自身的编程技巧叫做递归。程序调用自身的编程技巧称为递归(recursion)
js里通过eval()函数,在知道某个方法名是可以实现调用该方法,那么在java里边又怎么实现的呢?java里边是通过反射机制来实现,代码如下:importja
本文分析了Android编程之Activity中onDestroy()调用方法。分享给大家供大家参考,具体如下:刚刚一个BUG让我发现,如果activity实现
本文实例讲述了java编程调用存储过程中得到新增记录id号的实现方法。分享给大家供大家参考,具体如下:关于mssqlserver2000的存储过程,主要作用是在
本文实例讲述了js中iframe调用父页面的方法。分享给大家供大家参考。具体实现方法如下:子页面调用父页面的方法在js中很容易实现。我们只需要在主页面加个函数,