Java认证:Java的脚本动态用法Java认证考试

文章作者 100test 发表时间 2010:01:01 15:47:56
来源 100Test.Com百考试题网


  function doSth(){
  jf.setSize(500,300).
  jf.setVisible(true).
  jf.setDefaultCloseOperation(jf.EXIT_ON_CLOSE).
  }
  function getNames(){
  list.add("doSth").
  list.add("getNames").
  return list.
  }
  function testJS(){
  print(Hello world!).
  }
  import java.io.FileReader.
  import java.util.ArrayList.
  import java.util.List.
  import javax.script.Bindings.
  import javax.script.Invocable.
  import javax.script.ScriptContext.
  import javax.script.ScriptEngine.
  import javax.script.ScriptEngineManager.
  import javax.swing.JFrame.
  /**
  *
  * @author hadeslee
  */
  public class Test {
  public static void main(String[] args)throws Exception {
  //根据js的后缀名生成一个解析JS的脚本解析引擎
  ScriptEngine engin=new ScriptEngineManager().getEngineByExtension("js").
  //查询一下这个引擎是否实现了下面很实用的接口
  System.out.println(engin instanceof Invocable).
  //声明两个对象,传入到JS里面去
  JFrame jf=new JFrame("test").
  List list=new ArrayList().
  //得到挷定的键值对象,把当前的两个JAVA对象放进去
  Bindings bind=engin.createBindings().
  bind.put("jf",jf).
  bind.put("list",list).
  //把挷下的键值对象放进去,作用域是当前引擎的范围
  engin.setBindings(bind,ScriptContext.ENGINE_SCOPE).
  //用引擎执行一段写在JS文件里面的代码
  Object obj=engin.eval(new FileReader("test.js")).
  //这个时候返回值当然 是null了
  System.out.println(obj).
  //把当前的引擎强制转为Invocable,这样就可以调用定义在JS文件里面的一个一个函数了
  Invocable in=(Invocable)engin.
  //得到了从JS里面返回来的对象
  List l=(List)in.invokeFunction("getNames").
  System.out.println(l).
  //调用一下定义在JS里面的另一个函数
  in.invokeFunction("testJS").
  //最后调用一个函数,该函数可以使我们前面定义的窗体显示出来
  in.invokeFunction("doSth").
  }
  }

  编辑特别推荐:

  指点一下:到底该不该去考JAVA认证?

  Java面试题:第一锦

  Java面试题:第二锦

  Java面试题:第三锦

  Java面试题:第四锦

  Java面试题:第五锦

  一个有趣的编程:程序员的爱情故事



相关文章


JavaME中使用Socket通信基础应用Java认证考试
Java认证辅导:Java中的堆栈内存浅析Java认证考试
JAVA认证辅导:JAVA连接数据库Java认证考试
JAVA认证辅导:struts2登录拦截器Java认证考试
Java认证:Java的脚本动态用法Java认证考试
Swing写的简单的计算器Java认证考试
struts2中使用token避免重复提交Java认证考试
用JAVA做的一个石头,剪刀,布的游戏Java认证考试
2009年的Java技术趋势Java认证考试
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛