[freemarker篇]04.简单介绍-基本数据类型
好几天没有更新博客了,最近一顿乱七八糟的忙!今天简单更新第四章,这里只能说是简单介绍,因为权威的还是需要看Freemarker的官方中文手册!
好几天没有更新博客了,最近一顿乱七八糟的忙!今天简单更新第四章,这里只能说是简单介绍,因为权威的还是需要看Freemarker的官方中文手册!
好几天没有更新博客了,最近一顿乱七八糟的忙!今天简单更新第四章,这里只能说是简单介绍,因为权威的还是需要看Freemarker的官方中文手册!
好几天没有更新博客了,最近一顿乱七八糟的忙!今天简单更新第四章,这里只能说是简单介绍,因为权威的还是需要看Freemarker的官方中文手册!
第一步:测试代码如下!
//基本数据类型测试
@Test
public void testDataType() {
// 1.创建数据模型
Map<String, Object> root = new HashMap<String, Object>();
root.put("now", new Date());
root.put("username", "胖先生");
// 3.生成HTML文件
fu.exportHtml("demo04.ftl", root, "基本数据类型.html");
}
第二步:模版代码,请仔细看看
<!DOCTYPE html>
<html>
<head>
<title>关于如何处理空值</title>
<meta charset="UTF-8">
</head> <body>
<#--定义变量-->
<h2>定义变量</h2>
<#assign username="张三"/>
${username}
<hr/>
<h2>定义了一个数字</h2>
<#assign num=10>
${num+11}
<#assign str="10"/>
${str+11}
<h3>值会完成覆盖</h3>
<#assign str=33/>
${str+11}
<hr/>
<#assign b=true/>
<h3>说明布尔型:不能直接输出数字或者字符串以外的类型,否则都会报错,需要转换为字符串才能输出
使用xxx?string可以完成对字符串的转换</h3>
<#--${b}-->
${b?string}
<h3>判断是否为空,??!</h3>
${(a.d)???string}
<hr/>
<h2>日期也不能直接输出,需要转换为字符串</h2>
${now?string("yyyy-MM-dd HH:mm:ss")}
<#--${now?string}没有为日期设定格式也会报错-->
<hr/>
<h2>以下显示了使用字符链接和插值的方式连接字符串</h2>
${"hello"+username}
<br/>
${"hello${username}"}
<hr/>
<h2>字符串转换为日期
data用来转换日期,datatime用来转换日期和时间,time用来转换时间</h2>
<#assign bir="1979-12-02 12:22:33"?date("yyyy-MM-dd HH:mm:ss")>
<#assign bir="1979-12-02 12:22:33"?datetime("yyyy-MM-dd HH:mm:ss")>
${bir} <h2>HTML转义字符</h2>
${"<br/>"?html}
<hr/>
<h2>需要查看中文手册,非常有用</h2>
[${"abcde"?left_pad(10,"--")}]
<h3>转换数据</h3>
${1.4?string(0)}
${1.8?int} </body>
</html>
第三步:测试结果如下
附录: 2013年中文手册
[freemarker篇]04.简单介绍-基本数据类型的更多相关文章
- iOS开发UI篇—Kvc简单介绍
ios开发UI篇—Kvc简单介绍 一.KVC简单介绍 KVC key valued coding 键值编码 KVC通过键值间接编码 补充: 与KVC相对的时KVO,即key valued observ ...
- iOS开发UI篇—Quartz2D简单介绍
iOS开发UI篇—Quartz2D简单介绍 一.什么是Quartz2D Quartz 2D是⼀个二维绘图引擎,同时支持iOS和Mac系统 Quartz 2D能完成的工作: 绘制图形 : 线条\三角形\ ...
- iOS开发拓展篇—CoreLocation简单介绍
iOS开发拓展篇—CoreLocation简单介绍 一.简介 1.在移动互联网时代,移动app能解决用户的很多生活琐事,比如 (1)导航:去任意陌生的地方 (2)周边:找餐馆.找酒店.找银行.找电影院 ...
- iOS开发多线程篇—多线程简单介绍
iOS开发多线程篇—多线程简单介绍 一.进程和线程 1.什么是进程 进程是指在系统中正在运行的一个应用程序 每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内 比如同时打开QQ.Xcod ...
- iOS开发UI篇—UITabBarController简单介绍
iOS开发UI篇—UITabBarController简单介绍 一.简单介绍 UITabBarController和UINavigationController类似,UITabBarControlle ...
- iOS开发UI篇—Modal简单介绍
iOS开发UI篇—Modal简单介绍 一.简单介绍 除了push之外,还有另外一种控制器的切换方式,那就是Modal 任何控制器都能通过Modal的形式展⽰出来 Modal的默认效果:新控制器从屏幕的 ...
- iOS开发数据库篇—SQLite简单介绍
iOS开发数据库篇—SQLite简单介绍 一.离线缓存 在项目开发中,通常都需要对数据进行离线缓存的处理,如新闻数据的离线缓存等. 说明:离线缓存一般都是把数据保存到项目的沙盒中.有以下几种方式 (1 ...
- iOS开发UI篇—UIWindow简单介绍
iOS开发UI篇—UIWindow简单介绍 一.简单介绍 UIWindow是一种特殊的UIView,通常在一个app中只会有一个UIWindow iOS程序启动完毕后,创建的第一个视图控件就是UIWi ...
- iOS开发多线程篇—NSOperation简单介绍
iOS开发多线程篇—NSOperation简单介绍 一.NSOperation简介 1.简单说明 NSOperation的作⽤:配合使用NSOperation和NSOperationQueue也能实现 ...
随机推荐
- 移动端轮播图插件(支持Zepto和jQuery)
一. 效果图 二. 功能介绍 1. 支持图片自动轮播和非自动轮播 2. 支持点击和滑动. 三. 简单介绍 代码都有注释,逻辑简单,不做更多赘述. 1. 在你的html中添加一行. <sectio ...
- 1.单一职责原则(Single Responsibility Principle)
1.定义 就一个类而言,应该仅有一个引起它变化的原因. 2.定义解读 这是六大原则中最简单的一种,通俗点说,就是不存在多个原因使得一个类发生变化,也就是一个类只负责一种职责的工作. 3.优点 类的复杂 ...
- js 如何验证字符串里是否包含汉字?
1.用正则表达式判断<input type="text" id="name" placeholder="请输入用户名" value= ...
- 全代码实现ios-3
决定做ios开发的时候,看了很多本关于ios开发的书籍,其中有国内的人写的,也有根据外国的书翻译过来的. 很可惜,这些书里的例子没办法照搬过来,因为Xcode更新换代太快了,而这些书本的内容更新的速度 ...
- rpm包的管理
RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux.S.u ...
- PostgreSQL没有redo log multiplexing
与Oracle不同的是,PostgreSQL中压根没有这种的东西. 若以,如果因为写在线WAL文件是发生磁盘I/O错误,那么数据库系统就启动不了了. 解决的办法,我想,在PostgreSQL中,如论如 ...
- 数据结构复习:希尔排序的C++实现
1.原理介绍 希尔排序又称为缩小增量排序,由D.L.Shell在1959年提出而得名. 该算法先取一个小于数据表中元素个数 n 的整数gap, 并以此作为第一个间隔,将数据分为gap个子序列,所有距离 ...
- hdu 5273 Dylans loves sequence 逆序数简单递推
Dylans loves sequence Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem ...
- 【摘要】获得HTML元素的绝对位置
function findAbsolutePosition(obj) { var curleft = curtop = 0; if (obj.offsetParent) { do { curleft ...
- 关于View端
View--------------Request 1 URL vs n View 同一个URL可以对应多个View, HTML(通过Request请求获得) 例如SAO项目中的step1--> ...