一 FreeMarker是一款模板引擎:即一种基于模板和要改变的数据,并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具。它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。 模板 + 数据模型 = 输出:边看代码边解释
模板:这里的user就是后台应该传给FreeMarker的模板文件,就像通常存放静态HTML页面那样。当有人来访问这个页面, FreeMarker将会介入执行,然后动态转换模板,用最新的数据内容替换模板中 数据模型:这个user包含的所有属性组成数据模型。 +- user = 'Big Joe' 当具备了这两个属性后就能动态的输出数据到当前页面了。 有小伙伴肯定有疑问user这个模板是怎么传到前台来的,我这先贴一个代码,后期细说,这里的user模板是通过model传递到前台去的。 public String seleWechatResources(Integer pageNum, Model model){ 实际上用程序语言编写的程序就是模板。 FTL (代表FreeMarker模板语言)。 这是为编写模板设计的非常简单的编程语言。 模板(FTL编程)是由如下部分混合而成的:
<html>[BR] 注意: FTL是区分大小写的。list是指令的名称而List 就不是。类似地${name}和${Name}或 ${NAME}也是不同的。 重点注意:插值仅仅可以在文本中使用。(也可以是字符串表达式) FTL标签不可以在其他FTL标签和插值中使用。比如:这样做是错误的:<#if <#include 'foo'>='bar'>... 注释可以放在 FTL标签和插值中 四 1.list:list指令一般用来遍历集合数组和字符串。比如遍历map集合: <#list industries?keys as key> 2.if:if指令用来判断逻辑。 比如: <#if condition> 3.import:格式:<#import path as hash> 概述:path:模板的路径。 这是一个算作是字符串的表达式。(简单说就是引入一个抽取出来的页面);hash:访问命名空间的哈希表变量不带引号的名字。不是表达式。 |
|