知识大全 JS嵌入到Java程序中

Posted 变量

篇首语:书籍是屹立在时间的汪洋大海中的灯塔本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 JS嵌入到Java程序中相关的知识,希望对你有一定的参考价值。

JS嵌入到Java程序中  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  随着java 的出现 向java嵌入javascript脚本变的特别容易 java 引入了一个新的javax script包 为脚本化语言提供了一个通用接口

  案例 ; 小说 网java中嵌入javascript脚本的思路

   取得脚本解释器的管理器Manager

   从管理器中取得js的解释器实例ScriptEngine

   取得存储javascript变量的Bindings实例

   把一个java io Reader流及Bindings传递给ScriptEngine的eval()方法 从而运行存储在外部文件中的脚本 eval()方法返回脚本运行结果 如果执行中发生错误 会抛出ScriptException异常

  例 运行javascript脚本的一个java程序

   import java io *;   import javax script Bindings;   import javax script ScriptEngine;   import javax script ScriptEngineManager;   import javax script ScriptException;    /**author by ?id=  */public class RunScript        public static void main(String[] args) throws IOException           ScriptEngineManager scriptManager = new ScriptEngineManager();//得到解释器的管理器 里面有很多种脚本解释器           ScriptEngine js = scriptManager getEngineByExtension( ;js );//从管理器中获取js的解释器           //定义我们要运行的脚本文件           String filename = null;           //通过解释器来获得存储javascript变量的Bindings的实例 使它们提供给脚本            Bindings bindings = js createBindings();           //处理参数 参数是定义的脚本的变量 参数可能包括 Dname/value对 我们要进行处理 任何参数不能以 D 为文件名开始           for(int i =  ;i<args length;i++)               String arg = args[i];               if(arg startsWith( D ))//如果参数是以 D 开头 则进行处理                   int pos = arg indexOf( = );                   if(pos ==  ) usage();                   String name=arg substring( pos);                   String value= arg substring(pos+ );                   //注意 我们定义的所有的变量是字符串 如果必要的话 我们可以通过java lang Number  一个java lang Boolean 任何Java对象或NULL 将脚本转换为其他类型                    bindings put(name  value);//脚本中的变量存入bindings实例中               else                   if(filename!=null)usage();                   filename=arg;                                     //这里是为了确保我们得到了一个文件的参数            if(filename==null)               usage();                      //增加一个具有约束力的使用特殊的保留变量名称 告诉脚本引擎的文件的名称将执行 这使它能够提供更好的错误信息           bindings put(ScriptEngine FILENAME  filename);           //读取文件的流           Reader in = new FileReader(filename);           try               //执行脚本并取得结果 注意in就相当于js中的脚本 而bindings是脚本执行所需要的变量               Object result = js eval(in bindings);               System out println(result);           catch(ScriptException ex)               //执行过程中出异常则显示一个错误信息               System out println(ex);                         static void usage()           System err println( Usage: java RunScript[ Dname=value] script js );           System exit( );//异常退出程序 如果正常退出程序用System exit( );            

  这段代码中所创建的Bindings对象不是静态的 JavaScript脚本所创建的所有的变量都存储在这里 下面是一个脚本化Java的更加实用的例子 它将它的Bindings对象存储在一个具有较高的作用域的ScriptContext对象中 以便可以读取其变量 但是新的变量就不存储到Binhdings对象中 这个例子实现了一个简单的配置文件工具 即一个文本文件 用来定义名字/值对 可以通过这里定义的Configuration类来查询它们 值可能是字符串 数字或布尔值 并且 如果一个值包含在花括号中 那么它就会传递给一个JavaScript解释器去计算 java util Map对象保存了这些包装在一个SimpleBindings对象中的值 这样一来 JavaScript解释器也可以访问同一个文件中定义的其他变量的值

cha138/Article/program/Java/JSP/201311/19250

相关参考

知识大全 JAVA执行JS文件里的程序

JAVA执行JS文件里的程序  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 有没有把js做的效果导出成swf格式的工具或方法啊,或者直接嵌入flash中的方法

有没有把js做的效果导出成swf格式的工具或方法啊,或者直接嵌入flash中的方法?急死了,求高手指导啊!没有,只能是用FLASH代码仿照着做出来差不多的效果,不能直接用,也没有这种软件有没有把卡巴嵌

知识大全 Java设置JS脚本中的变量

Java设置JS脚本中的变量  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 网页设计中JS与Java的区别

网页设计中JS与Java的区别  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!在各种网页制作技术论坛

知识大全 js复制到剪切板的实例方法

这篇文章介绍了复制到剪切板js代码有需要的朋友可以参考需要 复制代码代码如下:cha138/Article/program/Java/JSP/201311/20557

知识大全 将 Java 应用程序迁移到 .NET(2)

将Java应用程序迁移到.NET(2)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  不使用自动

知识大全 Delphi开发嵌入式IE浏览器监控程序

Delphi开发嵌入式IE浏览器监控程序  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!引言  随着

知识大全 jsp中把js变量赋给java变量,或者将java变量赋给js变量怎么做

在jsp中经常会遇到把js变量赋给java变量或者将java变量赋给js变量的情况在此将通用的处理方法小结如下java变量传给js好办vara=&#;<%=javaParam%>&

知识大全 java如何创建jar文件

  并不是所有类型的Java应用程序都能打包到单独的一个JAR文件中去必须符合一定的条件一个Java应用程序的所有文件才能打包到一个文件中去另外JAR文件有两种一种是有清单(manifest)文件的一

知识大全 javascript中可以直接写php代码

  一在javascript中嵌入php代码  javascript若是通过js文件包含进来的那么js文件中也可以直接写php代码只不过包含js文件是扩展名要改成php如  <scripther