Common Template Engine English | 中文 | 翻译  
下载 新闻 论坛 关于我们
文档
概览
模板指南
表达式指南
集成指南
配置指南
使用指南
扩展指南
架构指南
依赖说明
常见问题
资源
下载
更新日志
许可协议
UML
Java Doc
测试覆盖率报告
社区
开发团队
论坛
邮件列表
问题列表
点这里报告问题 !
支持
CommonTemplate API使用指南


一. 模板引擎使用 JavaDoc>>
(1) Java版: (环境需求JRE1.4.2_10以上) 下载...
import java.util.*;

// 导入commontemplate模块
import org.commontemplate.core.*;
import org.commontemplate.engine.*;
import org.commontemplate.standard.*;
import org.commontemplate.tools.*;

// 配置并建造引擎 (Engine是内同步线程安全的,可单例重用)
ConfigurationSettings config = PropertiesConfigurationLoader.loadStandardConfiguration();
// 或者:ConfigurationSettings config = PropertiesConfigurationLoader.loadConfiguration("xxx.properties");
// 或者:StandardConfiguration config = new StandardConfiguration();
Engine engine = new Engine(config);

// 设置全局上下文 (GlobalContext在同一Engine创建的Context间共享)
GlobalContext globalContext = engine.getGlobalContext();
globalContext.put("name", "value");
...

// 定义运行期数据
Map model = ...
Writer out = ...

// 创建上下文 (Context非线程安全,应为每次执行创建新的Context)
// 注:国际化信息传入可用factory.createContext(output, locale, timeZone);
Context context = engine.createContext(output);
context.putAll(model);
context.put("name", "value");
...

// 执行模板
Template template = engine.getTemplate("mytemplate.ctl");
template.render(context);

// 清理上下文及输出(最好放在finally块中)
context.clear();
output.flush();
output.close();

关系图如下:


工具类: org.commontemplate.tools.TemplateRenderer
Writer out = ...;
new TemplateRenderer("$for{times} ${user.name} $end").put("times", 5).put("user", new User()).render(out);
或者:
String result = new TemplateRenderer("$for{times} ${user.name} $end").put("times", 5).put("user", new User()).evaluate();

(2) .Net版: (环境需求CLR1.1以上)
......

二. 表达式引擎使用
Java API:
// 导入相关模块
import org.commontemplate.core.*;
import org.commontemplate.engine.expression.*;
import org.commontemplate.standard.*;
import org.commontemplate.tools.*;

// 配置并建造引擎
ExpressionConfigurationSettings config = PropertiesConfigurationLoader.loadStandardExpressionConfiguration();
// 或者:ExpressionConfigurationSettings config = PropertiesConfigurationLoader.loadExpressionConfiguration("xxx.properties");
ExpressionEngine engine = new ExpressionEngine(config);

// 创建上下文
VariableResolver context = ...

// 解析表达式
Expression expression = engine.parseExpression("1 + 1");
Object result = expression.evaluate(context);

工具类: org.commontemplate.tools.ExpressionEvaluator
Object result = new ExpressionEvaluator("book.price * discount + 1").put("book", new Book()).put("discount", 0.8).evaluate();


版权所有 © 2007-2008 CommonTemplate开发小组