## 4.6 内置标签函数
- include include一个模板,如 :
```javascript
<%include("/header.html"){}%>
```
如果想往子模板中传入参数,则可以后面跟一个json变量
```javascript
<%include("/header.html",{'user':user,'id',user.id}){}%>
```
这样user,和id 可以在header.html被引用,并成为header.html的全局变量
> (beetl1.2 也叫includeFileTemplate ,2.0仍然支持,但不再文档里体现了)
- layout 提供一个布局功能,每个页面总是由一定布局,如页面头,菜单,页面脚,以及正文。 layout标签允许为正文指定一个布局,如下使用方式
content.html内容如下:
```javascript
<%
//content.html内容如下:
layout("/inc/layout.html"){%>
this is 正文
..........
<%}%>
```
layout.html 是布局文件,内容如下
```javascript
<%include("/inc/header.html"){} %>
this is content:${layoutContent}
this is footer:
```
运行content.html模板文件后,,正文文件的内容将被替换到layoutContent的地方,变成如下内容
```javascript
this is header
this is content:this is 正文
............
this is footer:
```
如果想往layout页面传入参数,则传入一个json变量,如下往layout.html页面传入一个用户登录时间
```javascript
<%layout("/inc/header.html",{'date':user.loginDate,'title':"内容页面"}){%>
this is 正文
..........
<%}%>
```
如果layoutContent 命名有冲突,可以在layout第三个参数指定,如
```javascript
<%layout("/inc/header.html",{'date':user.loginDate,'title':"内容页面"},"myLayoutContent"){%>
this is 正文
..........
<%}%>
```
- cache 能Cache标签的内容,并指定多长时间刷新,如
```javascript
<%:cache('key2',10,false){ %>
内容体
<%}%>
```
需要指定三个参数
- 第一个是cache的Key值
- 第二个是缓存存在的时间,秒为单位
- 第三个表示是否强制刷新,false表示不,true表示强制刷新
Cache默认实现org.beetl.ext.tag.cache.SimpleCacheManager. 你可以设置你自己的Cache实现,通过调用CacheTag. cacheManager= new YourCacheImplementation();
可以在程序里调用如下方法手工删除Cache:
```java
public void clearAll();
public void clearAll(String key);
public void clearAll(String... keys);
```
- includeJSP,可以在模板里包括一个jsp文件,如:
```javascript
<%
includeJSP("/xxxx.jsp",{"key":"value"}){}
%>
```
key value 都是字符串,将以parameter的形式提供给jsp,因此jsp可以通过request.getParameter("key")来获取参数
主要注意的是,这个标签并非内置,需要手工注册一下
```java
groupTemplate.registerTag("incdlueJSP",org.beetl.ext.jsp.IncludeJSPTag.class);
```
- 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 性能测试对比