Java 6对脚本的支持
2012-07-05 16:45
127 查看
下面的例子将演示通过js给javaBean进行初始化。
Config.java
config.js初始化
打印出来的结果:
PS:比较有意思的是,可以直接对private的属性进行直接赋值
Config.java
public class Config { private String version = "" ; private int server = 0 ; private String ip = "" ; public String getVersion() { return version; } public void setVersion(String version) { this.version = version; } public int getServer() { return server; } public void setServer(int server) { this.server = server; } public String getIp() { return ip; } public void setIp(String ip) { this.ip = ip; } @Override public String toString() { return "version = " + getVersion() + ",server = " + getServer() + ",ip = " + getIp() ; } }ScriptEngineForJavaScriptTest.java
package test.scriptengine; import java.io.IOException; import java.io.InputStreamReader; import java.io.Reader; import java.net.URL; import java.util.HashMap; import java.util.Map; import javax.script.Bindings; import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; import javax.script.SimpleBindings; import org.apache.commons.io.IOUtils; public class ScriptEngineForJavaScriptTest { /** * @param args */ public static void main(String[] args) { Config config = buildConfig() ; System.out.println(config.toString()); } public static Config buildConfig(){ ClassLoader _classLoad = Thread.currentThread().getContextClassLoader() ; URL url = _classLoad.getResource("config.js") ; Map<String, Object> _bindings = new HashMap<String, Object>() ; Config config = new Config() ; _bindings.put("config", config) ; String _scriptContext = null ; Reader _reader = null ; try{ _reader = new InputStreamReader(url.openStream(), "UTF-8") ; _scriptContext = IOUtils.toString(_reader) ; }catch(IOException e){ throw new IllegalStateException("can't load config from url["+url+"]") ; } ScriptEngineManager factory = new ScriptEngineManager() ; ScriptEngine engine = factory.getEngineByName("JavaScript") ; Bindings buindings = new SimpleBindings(_bindings) ; try{ engine.eval(_scriptContext, buindings) ; }catch(Exception e){ } return config ; } }
config.js初始化
config.version = "1.1.0" ; config.setServer(1010) ; config.setIp("192.168.1.1") ;
打印出来的结果:
version = 1.1.0,server = 1010,ip = 192.168.1.1
PS:比较有意思的是,可以直接对private的属性进行直接赋值
相关文章推荐
- Java 脚本支持
- jdk7 新特性-Java语言的动态性-脚本语言支持api-使用案例06
- Java 的 脚本语言支持
- Java平台对脚本语言支持之ScriptEngine创建方式
- 一个使用JAVA编写的类似按键精灵的程序,支持脚本文件编写(含源代码)
- Java平台对脚本语言支持之ScriptEngine创建方式
- 一个使用JAVA编写的类似按键精灵的程序,支持脚本文件编写(含源代码)
- Java平台对脚本语言支持之ScriptEngine创建方式
- Java 脚本支持
- java 读取文件 和 执行SQL脚本 (支持中文)
- java ScriptEngine 使用 (支持JavaScript脚本,eval()函数等)
- WinCE 对 Java脚本的支持
- jdk7 新特性-Java语言的动态性-脚本语言支持api-脚本引擎01
- Java 脚本支持
- jdk7 新特性-Java语言的动态性-脚本语言支持api-方法调用05
- 用来解决IE浏览器不支持java脚本的组件批处理方法
- java ScriptEngine 使用 (支持JavaScript脚本,eval()函数等) - *(00)*
- VIM:简化的单语言项目脚本──对Java项目开发的支持
- 使用java和shell脚本支持GUI模式/CLI模式切换
- JAVA的动态性之脚本语言支持API