java编程中实现调用js方法分析
程序员文章站
2024-02-24 14:01:34
本文实例讲述了java编程中实现调用js方法。分享给大家供大家参考,具体如下:
/*
* 加载脚本引擎,并在java中调用js方法
*/
public vo...
本文实例讲述了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程序设计有所帮助。
下一篇: Python学习之路(函数参数)