freemarker
memory
这个作者很懒,什么都没留下…
展开
-
freemarker指令
模版+数据模型=输出 处理不存在的变量 在变量名后面通过放置??来询问freemarker一个变量是否存在。将它和if指令合并,那么如果user变量不存在的话将会忽略整个问候代码段: <#if user??><h1>welcome ${user}!</h1></#if> ...原创 2015-02-25 14:40:46 · 74 阅读 · 0 评论 -
内建函数
内建函数以?形式提供变量的不同形式或者其他信息。 例如得到字符串的大写形式:user?upper_case。 字符串使用的内建函数: html:字符串中所有的特殊HTML字符都需要用实体引用来代替(比如<代替&lt;) cap_first:字符串的第一个字母变为大写形式。 lower_case:字符串的小写形式。 upper_case:字符串的大写...原创 2015-02-25 15:01:31 · 69 阅读 · 0 评论 -
自定义指令
自定义指令可以使用macro指令来定义 <#macro greet> <font>hello</font> </#macro> <#macro greet>和</#macro>之间的内容(称为宏定义体)当使用它作为指令时将会被执行。你可以在FTL标记中通过@代替#来使用自定义指令。使用变量名作为...原创 2015-02-26 13:05:22 · 88 阅读 · 0 评论 -
在模版中定义变量
在模版中可以定义三种类型的变量: 简单变量:它能从模版中的任何位置来访问,或者从使用include指令引入的模版访问。可以使用assign或macro指令来创建或替代这些变量。 局部变量:它们只能被设置在宏定义体内,而且只在宏内可见。一个局部变量的生存周期只是宏的调用过程。可以使用local指令在宏定义体内创建或替换局部变量。 循环变量:循环变量是由指令(如list)自动创建,而且它们只...原创 2015-02-26 13:22:09 · 134 阅读 · 0 评论 -
命名空间
当运行FTL模版时,就会有使用assign和macro指令创建的变量的集合(可能是空的),像这样的变量集合被称为namespace命名空间。在简单的情况下可以只使用一个命名空间,称之为main namespace主命名空间。 如果想创建可以重复使用的宏,函数和其他变量的集合,通常用术语来说就是引用library库。 创建一个库 <#macro copyright...原创 2015-03-07 14:26:55 · 80 阅读 · 0 评论 -
模版加载
模版加载器 当调用 cfg.getTemplate(这里的 cfg 就是Configuration 实例)时,FreeMarker 询 问模板加载器是否已经为 cfg 建立返回给定模板路径的文本,之后 FreeMarker 解析文本生 成模板。 内建模版加载器 在 Configuration 中可以使用下面的方法来方便建立三种模板加载。(每种方法都 会在其内...原创 2015-03-14 13:57:40 · 176 阅读 · 0 评论