Java 6 Script Engine
Java SE 6最引人注目的新功能之一就是内嵌了脚本支持。在默认情况下,Java SE 6只支持JavaScript,但这并不以为着Java SE 6只能支持JavaScript。在Java SE 6中提供了一些接口来定义一个脚本规范,也就是JSR223。通过实现这些接口,Java SE 6可以支持任意的脚本语言(如PHP或Ruby)。
http://blog.csdn.net/garybrother/archive/2009/03/13/3988730.aspx
什么是FreeMarker
FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写.FreeMarker被设计用来生成HTML Web页面,特别是基于MVC模式的应用程序.虽然FreeMarker具有一些编程的能力,但通常由Java程序准备要显示的数据,由 FreeMarker生成页面,通过模板显示准备的数据
使用JDK6的ScriptEngine动态调用freemarker
Freemarker最新版本已经支持JSR223标准,可以使用java6的标准脚本接口进行调用,大大简化了freemarker模板的使用.
这种模板方式在系统的中可以有较好的应用, 特别是在建立灵活的报警信息模板(短信,邮件)方面有很大的应用.
Freemarker2.4版本才支持JSR223标准,目前maven库中还没有提供该版本.
折叠展开 Java 代码复制内容到剪贴板
-
-
ScriptEngineManager manager = new ScriptEngineManager();
-
ScriptEngine engine = manager.getEngineByName("FreeMarker");
-
-
-
String template=" the 学生 is ${name} ,and 他今年${age}岁,身高:${height}cm!\n"+
-
"他的朋友包括:\n"+
-
"<#list friends as friend>朋友 ${friend}\n</#list>";
-
-
try {
-
- Bindings params= engine.createBindings();
- params.put(FreeMarkerScriptConstants.STRING_OUTPUT, Boolean.TRUE);
-
params.put("name", "tom");
-
params.put("age", 11);
-
params.put("height", 175.2);
-
params.put("friends", new String[]{"jack","linda","better"});
-
-
- Object result =engine.eval(template,params);
-
-
- System.out.println(result);
-
} catch (ScriptException e) {
- e.printStackTrace();
- }
-
输出
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
the 学生 is tom ,and 他今年11岁,身高:175.2cm!
他的朋友包括:
朋友 jack
朋友 linda
朋友 better
分享到:
相关推荐
jdk1.8下可以使用的freemarker.jar
适用jdk1.8的freemarker
freemarker.jar用于jdk1.8下使用,使用freemark前端框架时需要导入。
JDK动态代理,关于jdk动态代理的问题!详细的说明!JDK动态代理JDK动态代理
mac for jdk1.6 jdk6 安装版 里面有两个jdk1.6的安装包,都可以用 如果电脑上安装有1.7,1.8等高版本jdk就不要再下安装包了,安装包安装会报错 命令是这个:brew install java6或 brew install homebrew/cask-...
官网 jdk6,jdk7,jdk8,jdk9,jdk10 windox 32位、64位、linux 32位、64位 百度云。
windows64位jdk6、jdk7、jdk8安装包
JDK6u45JDK6u45JDK6u45JDK6u45JDK6u45JDK6u45JDK6u45JDK6u45JDK6u45
jdk6免安装下载 免费下载
JDK6 帮助文档 JDK6 帮助文档JDK6 帮助文档 JDK6 帮助文档
java动态编译的几种技术介绍。JavaCompiler --JDK6 API的简介(java动态编译)
linux版jdk6linux版jdk6linux版jdk6linux版jdk6linux版jdk6linux版jdk6linux版jdk6
动态代理是使用jdk的反射机制,创建对象的能力, 创建的是代理类的对象。 而不用你创建类文件。不用写java文件。 动态:在程序执行时,调用jdk提供的方法才能创建代理类的对象。jdk动态代理,必须有接口,目标类必须...
用到常用的jdk6和jdk7两个版本,稍后上传jdk8,欢迎下载使用
java的jdk6安装包
jdk6 源码jdk6 源码jdk6 源码jdk6 源码jdk6 源码jdk6 源码
JDK6 帮助文档 JDK6 帮助文档JDK6 帮助文档 JDK6 帮助文档
jce_policy6-8.jar 用于jdk1.6-1.8 解决https接口调用报错
最经典的中文JDK6 API,适用于JDK6、JDK7、JDK8,Java程序员开发必备参考文档
Jdk6 for mac Jdk6 for mac Jdk6 for mac Jdk6 for mac