Soumettre la recherche
Mettre en ligne
Free Marker中文文档
•
Télécharger en tant que DOC, PDF
•
0 j'aime
•
403 vues
Y
yiditushe
Suivre
Technologie
Formation
Signaler
Partager
Signaler
Partager
1 sur 11
Télécharger maintenant
Recommandé
Php for fe
Php for fe
jay li
PHP & MySQL 教學
PHP & MySQL 教學
Bo-Yi Wu
Moodle 项目帮助手册:程序编写准则
Moodle 项目帮助手册:程序编写准则
YUCHENG HU
dbug in mysql
dbug in mysql
Tim Chou
【 I Love Joomla 】- Joomla!佈景製作教學
【 I Love Joomla 】- Joomla!佈景製作教學
ilovejoomla
I Love Joomla! 佈景製作教學 0212
I Love Joomla! 佈景製作教學 0212
Asika Simon
那些年,我們一起看的例外
那些年,我們一起看的例外
kao kuo-tung
LazyRecord: The Fast ORM for PHP
LazyRecord: The Fast ORM for PHP
Lin Yo-An
Recommandé
Php for fe
Php for fe
jay li
PHP & MySQL 教學
PHP & MySQL 教學
Bo-Yi Wu
Moodle 项目帮助手册:程序编写准则
Moodle 项目帮助手册:程序编写准则
YUCHENG HU
dbug in mysql
dbug in mysql
Tim Chou
【 I Love Joomla 】- Joomla!佈景製作教學
【 I Love Joomla 】- Joomla!佈景製作教學
ilovejoomla
I Love Joomla! 佈景製作教學 0212
I Love Joomla! 佈景製作教學 0212
Asika Simon
那些年,我們一起看的例外
那些年,我們一起看的例外
kao kuo-tung
LazyRecord: The Fast ORM for PHP
LazyRecord: The Fast ORM for PHP
Lin Yo-An
jQuery源码学习
jQuery源码学习
fangdeng
Python串列資料應用
Python串列資料應用
吳錫修 (ShyiShiou Wu)
網頁設計 - 資料庫存取
網頁設計 - 資料庫存取
Vincent Chi
Python元組,字典,集合
Python元組,字典,集合
吳錫修 (ShyiShiou Wu)
Php & Mysql
Php & Mysql
chuyenyin
Json知识分享
Json知识分享
Qianhan Chen
Python入門:5大概念初心者必備 2021/11/18
Python入門:5大概念初心者必備 2021/11/18
Derek Lee
Python入門:5大概念初心者必備
Python入門:5大概念初心者必備
Derek Lee
Python程式設計 - 分支作業
Python程式設計 - 分支作業
吳錫修 (ShyiShiou Wu)
Php More
Php More
henbo
Js的国(转载)
Js的国(转载)
Leo Hui
那 Angular 那 AJAX 那 RESTful
那 Angular 那 AJAX 那 RESTful
功豪 魏
MySQL_EXPLAIN_liling
MySQL_EXPLAIN_liling
TracyLLing
常見設計模式介紹
常見設計模式介紹
Jace Ju
PHP
PHP
Ht Wang
Python程式設計 - 基本資料運算
Python程式設計 - 基本資料運算
吳錫修 (ShyiShiou Wu)
《Java程序设计》期末考试试题 (六)
《Java程序设计》期末考试试题 (六)
jane2006
PHP Coding Standard and 50+ Programming Skills
PHP Coding Standard and 50+ Programming Skills
Ho Kim
Mongodb
Mongodb
bj
深入了解Memcache
深入了解Memcache
zubin Jiang
10 22 Propagation
10 22 Propagation
Fauquier Horticulture
Conflictos
Conflictos
sagane75
Contenu connexe
Tendances
jQuery源码学习
jQuery源码学习
fangdeng
Python串列資料應用
Python串列資料應用
吳錫修 (ShyiShiou Wu)
網頁設計 - 資料庫存取
網頁設計 - 資料庫存取
Vincent Chi
Python元組,字典,集合
Python元組,字典,集合
吳錫修 (ShyiShiou Wu)
Php & Mysql
Php & Mysql
chuyenyin
Json知识分享
Json知识分享
Qianhan Chen
Python入門:5大概念初心者必備 2021/11/18
Python入門:5大概念初心者必備 2021/11/18
Derek Lee
Python入門:5大概念初心者必備
Python入門:5大概念初心者必備
Derek Lee
Python程式設計 - 分支作業
Python程式設計 - 分支作業
吳錫修 (ShyiShiou Wu)
Php More
Php More
henbo
Js的国(转载)
Js的国(转载)
Leo Hui
那 Angular 那 AJAX 那 RESTful
那 Angular 那 AJAX 那 RESTful
功豪 魏
MySQL_EXPLAIN_liling
MySQL_EXPLAIN_liling
TracyLLing
常見設計模式介紹
常見設計模式介紹
Jace Ju
PHP
PHP
Ht Wang
Python程式設計 - 基本資料運算
Python程式設計 - 基本資料運算
吳錫修 (ShyiShiou Wu)
《Java程序设计》期末考试试题 (六)
《Java程序设计》期末考试试题 (六)
jane2006
PHP Coding Standard and 50+ Programming Skills
PHP Coding Standard and 50+ Programming Skills
Ho Kim
Mongodb
Mongodb
bj
深入了解Memcache
深入了解Memcache
zubin Jiang
Tendances
(20)
jQuery源码学习
jQuery源码学习
Python串列資料應用
Python串列資料應用
網頁設計 - 資料庫存取
網頁設計 - 資料庫存取
Python元組,字典,集合
Python元組,字典,集合
Php & Mysql
Php & Mysql
Json知识分享
Json知识分享
Python入門:5大概念初心者必備 2021/11/18
Python入門:5大概念初心者必備 2021/11/18
Python入門:5大概念初心者必備
Python入門:5大概念初心者必備
Python程式設計 - 分支作業
Python程式設計 - 分支作業
Php More
Php More
Js的国(转载)
Js的国(转载)
那 Angular 那 AJAX 那 RESTful
那 Angular 那 AJAX 那 RESTful
MySQL_EXPLAIN_liling
MySQL_EXPLAIN_liling
常見設計模式介紹
常見設計模式介紹
PHP
PHP
Python程式設計 - 基本資料運算
Python程式設計 - 基本資料運算
《Java程序设计》期末考试试题 (六)
《Java程序设计》期末考试试题 (六)
PHP Coding Standard and 50+ Programming Skills
PHP Coding Standard and 50+ Programming Skills
Mongodb
Mongodb
深入了解Memcache
深入了解Memcache
En vedette
10 22 Propagation
10 22 Propagation
Fauquier Horticulture
Conflictos
Conflictos
sagane75
What Happened From 1767 Until Now In The
What Happened From 1767 Until Now In The
h20ho
Hi 121 Power Point Aug Sep09
Hi 121 Power Point Aug Sep09
h20ho
IARC Münich 2008 Plastics Recycling
IARC Münich 2008 Plastics Recycling
MBA Polymers Inc
How should we prepare for integrated HR & payroll software?
How should we prepare for integrated HR & payroll software?
Softworld
Search Congress Valencia Multiplica Enric Quintero OptimizacióN Web Caso Pr...
Search Congress Valencia Multiplica Enric Quintero OptimizacióN Web Caso Pr...
search congress
Dall'ideazione Alla Vedita - Comieco
Dall'ideazione Alla Vedita - Comieco
Marrài a Fura
数据字典
数据字典
yiditushe
STIA-LAN:Balance.Score.Card on Strategic.Management
STIA-LAN:Balance.Score.Card on Strategic.Management
Djadja Sardjana
Progetto Naturaldurante
Progetto Naturaldurante
Marrài a Fura
Libro Coriandoline Le Case Amiche Dei Bambini E Delle Bambine
Libro Coriandoline Le Case Amiche Dei Bambini E Delle Bambine
Marrài a Fura
Trade diversion: a outcome of Regional economic integretion
Trade diversion: a outcome of Regional economic integretion
Machiraju Presentations Pvt. Ltd.
Clustering Theory
Clustering Theory
SSA KPI
Hot topics in Consumer Protection: Collection Agencies Webinar
Hot topics in Consumer Protection: Collection Agencies Webinar
Community Legal Education Ontario (CLEO)
American CareSource Holdings
American CareSource Holdings
RedChip Companies, Inc.
Booklet Pasqua 2016
Booklet Pasqua 2016
Lorenzo Andreani
En vedette
(17)
10 22 Propagation
10 22 Propagation
Conflictos
Conflictos
What Happened From 1767 Until Now In The
What Happened From 1767 Until Now In The
Hi 121 Power Point Aug Sep09
Hi 121 Power Point Aug Sep09
IARC Münich 2008 Plastics Recycling
IARC Münich 2008 Plastics Recycling
How should we prepare for integrated HR & payroll software?
How should we prepare for integrated HR & payroll software?
Search Congress Valencia Multiplica Enric Quintero OptimizacióN Web Caso Pr...
Search Congress Valencia Multiplica Enric Quintero OptimizacióN Web Caso Pr...
Dall'ideazione Alla Vedita - Comieco
Dall'ideazione Alla Vedita - Comieco
数据字典
数据字典
STIA-LAN:Balance.Score.Card on Strategic.Management
STIA-LAN:Balance.Score.Card on Strategic.Management
Progetto Naturaldurante
Progetto Naturaldurante
Libro Coriandoline Le Case Amiche Dei Bambini E Delle Bambine
Libro Coriandoline Le Case Amiche Dei Bambini E Delle Bambine
Trade diversion: a outcome of Regional economic integretion
Trade diversion: a outcome of Regional economic integretion
Clustering Theory
Clustering Theory
Hot topics in Consumer Protection: Collection Agencies Webinar
Hot topics in Consumer Protection: Collection Agencies Webinar
American CareSource Holdings
American CareSource Holdings
Booklet Pasqua 2016
Booklet Pasqua 2016
Similaire à Free Marker中文文档
[系列活動] 手把手教你R語言資料分析實務
[系列活動] 手把手教你R語言資料分析實務
台灣資料科學年會
Practical data analysis in R: from data collection to data insight
Practical data analysis in R: from data collection to data insight
Chun-Min Chang
Practical Data Analysis in R
Practical Data Analysis in R
Chun-Ming Chang
Lotus domino开发教程
Lotus domino开发教程
dyzm_2000
5, initialization & cleanup
5, initialization & cleanup
ted-xu
Ch10
Ch10
Alisha Smile
Ch10 教學
Ch10 教學
hungchiayang1
浏览器工作原理浅析
浏览器工作原理浅析
癸鑫 张
旺铺前端设计和实现
旺铺前端设计和实现
hua qiu
数据处理算法设计要点
数据处理算法设计要点
thinkinlamp
Java SE 8 的 Lambda 連鎖效應 - 語法、風格與程式庫
Java SE 8 的 Lambda 連鎖效應 - 語法、風格與程式庫
Justin Lin
Mongo快速入门
Mongo快速入门
Lucien Li
1 C入門教學
1 C入門教學
Sita Liu
認識 C++11 新標準及使用 AMP 函式庫作平行運算
認識 C++11 新標準及使用 AMP 函式庫作平行運算
建興 王
C++工程实践
C++工程实践
Shuo Chen
Python速成指南
Python速成指南
March Liu
希望科技研发部变量命名及编码规范
希望科技研发部变量命名及编码规范
Hongjian Wang
Erlang Practice
Erlang Practice
litaocheng
Migrations 與 Schema操作
Migrations 與 Schema操作
Shengyou Fan
Spring 2.x 中文
Spring 2.x 中文
Guo Albert
Similaire à Free Marker中文文档
(20)
[系列活動] 手把手教你R語言資料分析實務
[系列活動] 手把手教你R語言資料分析實務
Practical data analysis in R: from data collection to data insight
Practical data analysis in R: from data collection to data insight
Practical Data Analysis in R
Practical Data Analysis in R
Lotus domino开发教程
Lotus domino开发教程
5, initialization & cleanup
5, initialization & cleanup
Ch10
Ch10
Ch10 教學
Ch10 教學
浏览器工作原理浅析
浏览器工作原理浅析
旺铺前端设计和实现
旺铺前端设计和实现
数据处理算法设计要点
数据处理算法设计要点
Java SE 8 的 Lambda 連鎖效應 - 語法、風格與程式庫
Java SE 8 的 Lambda 連鎖效應 - 語法、風格與程式庫
Mongo快速入门
Mongo快速入门
1 C入門教學
1 C入門教學
認識 C++11 新標準及使用 AMP 函式庫作平行運算
認識 C++11 新標準及使用 AMP 函式庫作平行運算
C++工程实践
C++工程实践
Python速成指南
Python速成指南
希望科技研发部变量命名及编码规范
希望科技研发部变量命名及编码规范
Erlang Practice
Erlang Practice
Migrations 與 Schema操作
Migrations 與 Schema操作
Spring 2.x 中文
Spring 2.x 中文
Plus de yiditushe
Spring入门纲要
Spring入门纲要
yiditushe
J Bpm4 1中文用户手册
J Bpm4 1中文用户手册
yiditushe
性能测试实践2
性能测试实践2
yiditushe
性能测试实践1
性能测试实践1
yiditushe
性能测试技术
性能测试技术
yiditushe
Load runner测试技术
Load runner测试技术
yiditushe
J2 ee性能测试
J2 ee性能测试
yiditushe
面向对象的Js培训
面向对象的Js培训
yiditushe
Flex3中文教程
Flex3中文教程
yiditushe
开放源代码的全文检索Lucene
开放源代码的全文检索Lucene
yiditushe
基于分词索引的全文检索技术介绍
基于分词索引的全文检索技术介绍
yiditushe
Lucene In Action
Lucene In Action
yiditushe
Lucene2 4学习笔记1
Lucene2 4学习笔记1
yiditushe
Lucene2 4 Demo
Lucene2 4 Demo
yiditushe
Lucene 全文检索实践
Lucene 全文检索实践
yiditushe
Lucene 3[1] 0 原理与代码分析
Lucene 3[1] 0 原理与代码分析
yiditushe
7 面向对象设计原则
7 面向对象设计原则
yiditushe
10 团队开发
10 团队开发
yiditushe
9 对象持久化与数据建模
9 对象持久化与数据建模
yiditushe
8 Uml构架建模
8 Uml构架建模
yiditushe
Plus de yiditushe
(20)
Spring入门纲要
Spring入门纲要
J Bpm4 1中文用户手册
J Bpm4 1中文用户手册
性能测试实践2
性能测试实践2
性能测试实践1
性能测试实践1
性能测试技术
性能测试技术
Load runner测试技术
Load runner测试技术
J2 ee性能测试
J2 ee性能测试
面向对象的Js培训
面向对象的Js培训
Flex3中文教程
Flex3中文教程
开放源代码的全文检索Lucene
开放源代码的全文检索Lucene
基于分词索引的全文检索技术介绍
基于分词索引的全文检索技术介绍
Lucene In Action
Lucene In Action
Lucene2 4学习笔记1
Lucene2 4学习笔记1
Lucene2 4 Demo
Lucene2 4 Demo
Lucene 全文检索实践
Lucene 全文检索实践
Lucene 3[1] 0 原理与代码分析
Lucene 3[1] 0 原理与代码分析
7 面向对象设计原则
7 面向对象设计原则
10 团队开发
10 团队开发
9 对象持久化与数据建模
9 对象持久化与数据建模
8 Uml构架建模
8 Uml构架建模
Free Marker中文文档
1.
FreeMarker 概述
FreeMarker 是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯 Java 编写 FreeMarker 被 设 计用 来 生 成 HTML Web 页 面 ,特 别 是 基于 MVC 模 式 的应 用 程 序 虽 然 FreeMarker 具 有 一 些 编 程 的 能 力 , 但 通 常 由 Java 程 序 准 备 要 显 示 的 数 据 由 FreeMarker 生 成 页 面 , 通 过 模 板 显 示 准 备 的 数 据 ( 如 下 图 ) FreeMarker 不是一个 Web 应用框架,而适合作为 Web 应用框架一个组件 FreeMarker 与容 器无关, 因为它并 不知道 HTTP 或 Servlet;FreeMarker 同样可 以应用于非 Web 应用程序环境 FreeMarker 更适合作为 Model2 框架(如 Struts)的视图组件,你也可以在模板 中使用 JSP 标记库 FreeMarker 是免费的 1、通用目标 能够生成各种文本:HTML、XML、RTF、Java 源代码等等 易于嵌入到你的产品中:轻量级;不需要 Servlet 环境 插件式模板载入器:可以从任何源载入模板,如本地文件、数据库等等 你可以按你所需生成文本:保存到本地文件;作为 Email 发送;从 Web 应用程序发送 它返回给 Web 浏览器 2、强大的模板语言 所有常用的指令:include、if/elseif/else、循环结构 在模板中创建和改变变量 几乎在任何地方都可以使用复杂表达式来指定值 命名的宏,可以具有位置参数和嵌套内容 名字空间有助于建立和维护可重用的宏库,或者将一个大工程分成模块,而不必担心 名字冲突 输出转换块:在嵌套模板片段生成输出时,转换 HTML 转义、压缩、语法高亮等等; 你可以定义自己的转换 3、通用数据模型 FreeMarker 不是直接反射到 Java 对象,Java 对象通过插件式对象封装,以变量方式在 模板中显示 你可以使用抽象(接口)方式表示对象(JavaBean、XML 文档、SQL 查询结果集等 等),告诉模板开发者使用方法,使其不受技术细节的打扰 4、为 Web 准备 在模板语言中内建处理典型 Web 相关任务(如 HTML 转义)的结构 能够集成到 Model2 Web 应用框架中作为 JSP 的替代
2.
</#list> </table>
FreeMarker 设计指南(3)
3.
</#list>
输出结果是: - Joe - Fred - Julia - Kate 散列操作 连接操作:和字符串一样,使用+,如果具有相同的 key,右边的值替代左边的值,例如: <#assign ages = {"Joe":23, "Fred":25} + {"Joe":30, "Julia":18}> - Joe is ${ages.Joe} - Fred is ${ages.Fred} - Julia is ${ages.Julia} 输出结果是: - Joe is 30 - Fred is 25 - Julia is 18 算术运算 +、-、×、/、%,下面是一个例子: ${x * x - 100} ${x / 2} ${12 % 10} 输出结果是(假设 x 为 5): -75 2.5 2 操作符两边必须是数字,因此下面的代码是错误的: ${3 * "5"} <#-- WRONG! --> 使用+操作符时,如果一边是数字,一边是字符串,就会自动将数字转换为字符串,例如: ${3 + "5"} 输出结果是: 35 使用内建的 int(后面讲述)获得整数部分,例如: ${(x/2)?int} ${1.1?int} ${1.999?int} ${-1.1?int} ${-1.999?int} 输出结果是(假设 x 为 5): 2
4.
FreeMarker 设计指南(4)
5.
</#list>
${x} </#list> 输出结果: loop 1 loop 2 loop 3 loop 2 loop 1 模板中的变量会隐藏(而不是覆盖)数据模型中同名变量,如果需要访问数据模 型中的同名变量,使用特殊变量 global,下面的例子假设数据模型中的 user 的值是 Big Joe: <#assign user = "Joe Hider"> ${user} <#-- prints: Joe Hider --> ${.globals.user} <#-- prints: Big Joe --> (3)名字空间 通常情况,只使用一个名字空间,称为主名字空间 为了创建可重用的宏、 变换器或其它变量的集合(通常称库),必须使用多名字空 间,其目的是防止同名冲突 创建库 下面是一个创建库的例子(假设保存在 lib/my_test.ftl 中): <#macro copyright date> <p>Copyright (C) ${date} Julia Smith. All rights reserved. <br>Email: ${mail}</p> </#macro> <#assign mail = "jsmith@acme.com"> 使用 import 指令导入库到模板中,Freemarker 会为导入的库创建新的名字空 间,并可以通过 import 指令中指定的散列变量访问库中的变量: <#import "/lib/my_test.ftl" as my> <#assign mail="fred@acme.com"> <@my.copyright date="1999-2002"/> ${my.mail} ${mail} 输出结果: <p>Copyright (C) 1999-2002 Julia Smith. All rights reserved. <br>Email: jsmith@acme.com</p> jsmith@acme.com fred@acme.com 可以看到例子中使用的两个同名变量并没有冲突,因为它们位于不同的名字空间
6.
Freemarker - 几个比较实用的例子
- - 用 Freemarker 做 模 本 语 言 有 一段时间了,列出几个和 JSP 或者 Velocity 相比起来比较方便的用 途 , 目 的 是 引 诱 更 多 的 人 跳 上 Freemarker 这 个 贼 船 , 1. String 内 置 的 JavaScript 转 换 : js_string 用 途 : 用 于 JavaScript 转 义 , 转 换 ',", 换 行 等 特 殊 字 符 模 板 : <script> alert("${errorMessage?js_string}"); </script> 输 出 : <script> alert("Readonly's pet name is "Cross Bone""); </script>
7.
2.
内 置 的 默 认 值 处 理 : default 用 途 : 用 于 处 理 默 认 值 模 本 : User: ${userLogin.name?default("Anonymous")} <td>${(employee.department.manager.name)?default(" ")}</td> 输 出 : User: Anonymous <td> </td> 注,可以对整个对象树加上(),再用内置处理器这种方便的做法, 偶 也 是 最 近 刚 学 会 的 , 以 前 一 直 用 很 傻 的 方 法 做 ..... 3. Sequence 内 置 的 计 数 器 : xxx_index
8.
用
途 : 显 示 序 号 模 板 : <#list employees as e> ${e_index}. ${e.name} </#list> 输 出 : 1. Readonly 2. Robbin 4. Sequence 内 置 的 分 段 器 : chunk 用 途 : 某 些 比 较 BT 的 排 版 需 求 模 板 : <#assign seq = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']> <#list seq?chunk(4) as row> <ul>
9.
<li><#list
row as cell>${cell} </#list></li> </ul> </#list> <#list seq?chunk(4, '-') as row> <tr> <td><#list row as cell>${cell} </#list></td> </tr> </#list> 输 出 : <ul> <li>a</li> <li>b</li> <li>c</li> <li>d</li> </ul> <ul> <li>e</li> <li>f</li>
10.
<li>g</li> <li>h</li> </ul> <ul> <li>i</li> <li>j</li> </ul> <tr> <td>a</td> <td>b</td> <td>c</td> <td>d</td> </tr> <tr> <td>e</td> <td>f</td> <td>g</td> <td>h</td> </tr> <tr> <td>i</td>
11.
<td>j</td> <td>-</td> <td>-</td> </tr>
Télécharger maintenant