## 1.2 快速开始
Beetl的核心是`GroupTemplate`,是一个重量级对象,实际使用的时候建议使用单模式创建,创建GroupTemplate需要2个参数,一个是模板资源加载器,一个是配置类,模板资源加载器Beetl内置了6种,分别是:
- **StringTemplateResourceLoader**:字符串模板加载器,用于加载字符串模板,如本例所示
- **FileResourceLoader**:文件模板加载器,需要一个根目录作为参数构造,传入getTemplate方法的String是模板文件相对于Root目录的相对路径
- **ClasspathResourceLoader**:现代web应用最常用的文件模板加载器,模板文件位于Classpath里
- **WebAppResourceLoader**:用于webapp集成,假定模板根目录就是WebRoot目录,参考web集成章
- **MapResourceLoader**:可以动态存入模板
- **CompositeResourceLoader**:混合使用多种加载方式
```java
//初始化代码
StringTemplateResourceLoader resourceLoader = new StringTemplateResourceLoader();
Configuration cfg = Configuration.defaultConfiguration();
GroupTemplate gt = new GroupTemplate(resourceLoader, cfg);
//获取模板
Template t = gt.getTemplate("hello,${name}");
t.binding("name", "beetl");
//渲染结果
String str = t.render();
System.out.println(str);
```
代码第5行将变量name传入模板里,其值是`Beetl`。
代码第6行是渲染模板,得到输出,template提供了多种获得渲染输出的方法,如下
- **template.render()** 返回渲染结果,如本例所示
- **template.renderTo(Writer)** 渲染结果输出到Writer里,如果你的Writer是一个FilterWriter,则可把输出保存到文件里
- **template.renderTo(OutputStream)** 渲染结果输出到OutputStream里
> 1. Beetl 支持为模板自定义定界符和占位符,如本例子采用的默认占位符号 `${}`。 后面可以看到,可以定义任意其他符号,比如`#{}` 或者 `##`
> 2. 如果不想写代码直接体验 Beetl 提供的基本功能,可以使用 [http://ibeetl.com/beetlonline/](http://ibeetl.com/beetlonline/)
- Beetl 3 中文文档
- 第一部分 基础用法
- 1.1 安装
- 1.2 快速开始
- 1.3 模板基础配置
- 1.4 模板加载器
- 1.5 定界符与占位符
- 1.6 注释
- 1.7 变量定义
- 1.8 属性
- 1.9 数学表达式
- 1.10 循环语句
- 1.11 条件语句
- 1.12 异常捕获
- 1.13 虚拟属性
- 1.14 函数调用
- 1.15 安全输出(重要)
- 1.16 输出格式化
- 1.17 标签
- 1.18 调用Java方法与属性
- 1.19 严格MVC控制
- 1.20 指令
- 1.21 错误处理
- 1.22 Beetl小工具
- 1.23 Escape
- 第二部分 高级用法
- 2.1 配置GroupTemplate
- 2.2 自定义方法
- 2.3 自定义格式化函数
- 2.4 自定义标签
- 2.5 自定义虚拟属性
- 2.6 使用额外的资源加载器
- 2.7 自定义资源加载器
- 2.8 使用CompositeResourceLoader
- 2.9 自定义错误处理器
- 2.10 自定义安全管理器
- 2.11 注册全局共享变量
- 2.12 自定义布局
- 2.13 性能优化
- 2.14 定制输出
- 2.15 定制模板引擎
- 2.16 直接运行Beetl脚本
- 2.17 模板校验
- 第三部分 Web 集成
- 3.1 Web提供的全局变量
- 3.2 集成技术开发指南
- 3.3 Servlet集成
- 3.4 SpringMVC集成
- 3.5 Spring Boot集成
- 3.6 Jodd集成
- 3.7 JFinal4 集成方案
- 3.8 Nutz集成
- 3.9 Struts2集成
- 3.10 整合ajax的局部渲染技术
- 3.11 在页面输出错误提示信息
- 附录
- 4.1 内置方法
- 4.2 Spring相关函数
- 4.3 Spring security
- 4.4 shiro
- 4.5 内置格式化方法
- 4.6 内置标签函数
- 4.7 内置html标签
- 4.8 性能优化
- 4.9 Eclipse 插件
- 4.10 性能测试对比