freeMarker随手笔记
freemarker官网:http://docs.freemarker.cn/
注意:
1.如果标签没有嵌套内容(在开始标签和结束标签之间的内容),那么可以只使用开始标签
(详情:http://freemarker.foofun.cn/dgui_template_valueinsertion.html)
2.插值使用内建函数c(代表''计算机'')是给计算机程序去识别,如:<a href="/shop/productdetails?id=${product.id?c}">Details...</a>
3.如果插值要生成HTML, 那么强烈建议你利用它来阻止跨站脚本攻击和非格式良好的HTML页面,如:
<#escape x as x?html>
<p>Title: ${book.title}</p>
<p>Description: <#noescape>${book.description}</#noescape></p>
<h2>Comments:</h2>
<#list comments as comment>
<div class="comment"> ${comment} </div>
</#list>
</#escape>
4.布尔值的插值使用:${married?string("yes", "no")}
一.使用
1.对象 -> ${key.property}
2.日期 -> 当前日期和时间:${date?datetime}
自定义日期格式:${date?string("yyyyMM/dd HH:mm:ss")}
(也可以使用FreeMarker的内建函数date,time和datetime来识别,如${lastUpdated?datetime})
3.处理不存在变量
(通过在变量名后面跟着一个 !(叹号)和默认值)
<h1>welcome ${user!"gg"}</h1>
(通过放置 ?? 来询问一个变量是否存在)
<#if user??><h1>welcome ${user}</h1><#/if>
(多级访问)
(animals.python.price)!0 ==> (animals.python.price)??
4.使用内建函数,如:
fruits?jion(",")通过连接所有项,将列表转换为字符串, 在每个项之间插入参数分隔符(比如 "orange,banana")
更多内建函数链接:http://freemarker.foofun.cn/ref_builtins.html
5.替换(方括号)语法,用 [#ftl]来开始模板,如:
[#ftl]
<p>We have these animals:<table border=1><tr><th>Name<th>Price [#list animals as animal] <tr> <td> [#if animal.size == "large"]<b>[/#if] ${animal.name} [#if animal.size == "large"]</b>[/#if] <td>${animal.price} Euros [/#list] </table>
二.指令
1.if指令
<#if >
<#elseif >
<#else >
</#if >
2.list指令
(基本用法)
<#list studentList as student>
下标:${student_index}
</#list>
(只有当fruits有值时才循环)
<#list misc.fruits> <#list misc.fruits as fruit>
<ul> <ul>
<#items as fruit> => <li>${fruit}
<li>${fruit} </ul>
</#items> </#list>
</ul>
</#list>
(被sep覆盖的部分只有当还有下一项时才会执行,因此最后面没有逗号。else表示水果为0时执行)
<p>Fruits:<#list misc.fruits as fruit>${fruit}<#sep>,<#else>none</#list>
freeMarker随手笔记的更多相关文章
- JS SDK 随手笔记
JS SDK 随手笔记 窗口模块 Frame/Multi Frame 对话框 页面间的通讯 生命周期 窗口层叠 窗口模块 窗口模块是是AppCan移动应用界面最基本的单位.窗口是每个界面布局的基础,他 ...
- python3.x随手笔记2
对象,价值观和类型 对象 Python的抽象的数据. 所有的数据在一个Python程序 表示对象或对象之间的关系. (在某种意义上,在 符合冯诺依曼模型的代码也“存储程序计算机” 由对象.) 每一个对 ...
- python3.x随手笔记1
语法分析 Python程序读取的 解析器 . 解析器的输入流 令牌 ,生成的 词法分析程序 . 这一章描述了如何 词法分析程序把一个文件分解成令牌. Python读取程序文本作为Unicode代码点; ...
- C#基础随手笔记之基础操作优化
对数据的查询,删除等基本操作是任何编程语言都会涉及到的基础,因此,研究了一下C#中比较常用的数据操作类型,并顺手做个笔记. List查询时,若是处理比较大的数据则使用HashSet<T>类 ...
- FreeMarker系列学习笔记
FreeMarker是一个非常优秀的模板引擎,这个模板引擎可用于任何场景,FreeMarker负责将数据模型中的数据合并到模板中,从而生成标准输出.FreeMarker可以提供昜好的团队协作,对于界面 ...
- freemarker学习笔记
在模板中定义的变量有三种类型: 引用 1:plain变量:可以在模板的任何地方访问,包括使用include指令插入的模板,使用assign指令创建和替换. 2:局部变量:在宏定义体中有效,使用loca ...
- Java模板引擎之Freemarker 学习笔记 一
什么是Freemarker Freemarker是模板引擎,不是Web框架,只是视图层的组件,官网是 https://freemarker.apache.org/ Freemarker原理 数据模型+ ...
- C#入门随手笔记
1..Net Framework是Microsoft为开发应用程序而创建的一个开发平台. 运行操作系统不限:Microsoft版本运行在windows,Mono版本运行开Linux和MacOS: 应用 ...
- spring随手笔记4:ref的属性
1.local属性 引用在同一个xml的bean 只能引用bean的id <bean id="HelloWord" class="com.ltf ...
随机推荐
- CentOS7.5搭建ES6.2.4集群与简单测试
一 简介 Elasticsearch是一个高度可扩展的开源全文搜索和分析引擎.它允许您快速,近实时地存储,搜索和分析大量数据.它通常用作支持具有复杂搜索功能和需求的应用程序的底层引擎/技术. 下载地址 ...
- Idea 添加注释:类注释、方法注释(可获取参数)
原文链接:https://blog.csdn.net/liqing0013/article/details/84104419 Idea 添加注释:类注释.方法注释 类注释 File–Setting–E ...
- Linux nohup命令详解,终端关闭程序依然可以在执行!
大家好,我是良许. 在工作中,我们很经常跑一个很重要的程序,有时候这个程序需要跑好几个小时,甚至需要几天,这个时候如果我们退出终端,或者网络不好连接中断,那么程序就会被中止.而这个情况肯定不是我们想看 ...
- Netty中的这些知识点,你需要知道!
一.Channel Channel是一个接口,而且是一个很大的接口,我们称之为“大而全”,囊括了server端及client端接口所需要的接口. Channel是一个门面,封装了包括网络I/O及相关的 ...
- localStorage. sessionStorage、 Cookie不共同点:(面试题)
●存储大小的不同: localStorage的大小一般为5M sessionStorage的大小一般为5M cookies的大小一般为4K ●有效期不同: 1.localStorage的有效期为永久有 ...
- Spring插件安装 - Eclipse 安装 Spring 插件详解(Spring Tool Suite)
安装完成后重启eclipse即可新建spring工程
- springMVC --@RequestParam注解(后台控制器获取参数)
在SpringMVC后台控制层获取参数的方式主要有两种,一种是request.getParameter("name"),另外一种是用注解@RequestParam直接获取. 1.获 ...
- 35 _ 队列1 _ 什么是队列.swf
队列是一种可以实现一个先进先出的存储结构 什么是队列? 队列(Queue)也是一种运算受限的线性表.它只允许在表的一端进行插入,而在另一端进行删除.允许删除的一端称为队头(front),允许插入的一端 ...
- ImageLoader在Gridview中的使用
原理和ImageLoader在Listview中的使用一样,只有下面的几点变化 主页面的布局 <?xml version="1.0" encoding="utf-8 ...
- 7-4 List Leaves (25分) JAVA
Given a tree, you are supposed to list all the leaves in the order of top down, and left to right. I ...