## 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 性能測試對比