freemarker学习

freemarker的开头学习

1、Freemarker是什么?

百度完善说:Freemarker是一款模板引擎,作者是小白,很不满,笔者也不清楚模板引擎是个怎样事物,不怕,继续百度模板引擎,百度宏观继续说,模板引擎(特指用于web开荒的模板引擎)是为着使用户分界面与事务数据分离而发生的,可以转换特定格式的文档,用于网址的模版引擎就可以扭转多少个正经的Html文书档案。个人了解正是:Freemarker是贰个转移规范HTML文书档案的沙盘。结合大咖的博客:”Freemarker其实是一种相比较简单的网页呈现技巧,说白了正是网页模板和数据模型的结合体。“工作格局是:“网页模板里面嵌入了数据模型中的数据、Freemarker自定义流程序调整制语言、Freemarker自定义的操作函数等等,在装载网页的时候,Freemarker模板自动从数据模型中提取数据,并表达一(Wissu)切网页为大家熟习的HTML页面。”好的,基本和我们通晓的基本上。知道了Freemarker是何等,下边就能够轻便领会一下Freemarker了,并学习学习。

2、Freemarker基本知识

第一,Freemarker不是Web开采的应用程序框架,它是三个适用于Web应用程序框架中的组件,何况,它并不知道HTTP协议或Java
servlet的留存,仅仅用来变化文书内容,它看做MVC框架视图层的机件,是为了给诸如Struts那样的Model2应用框架提供化解方案。

Freemarker的样式是 模板 + 数据模型 = 输出
即Freemarker在html文件中插入一些协和的通令成分,能够使静态的HTML页面有部分动态效果,源代码如下

HTML页面:

链接:

Welcome Big Joe!

Our latest product: green mouse!

Freemarker修改后的代码:

 

  http://swiftlet.net/archives/category/freemarker

Welcome ${user}!

Our latest product: ${latestProduct.name}!

本条模板存放在Web服务器上,当访问这些页面时,Freemarker将到场施行,然后动态转变模板,用时髦的多寡内容替换模板中${…}的一部分。能够开采的是,文件中从未指明怎么着取到诸如${…}的值,那正是Freemarker的风味。因为作为MVC框架视图层的组件,它的要紧观念正是显示逻辑和事业逻辑相分离。它不关切怎么取到数据,它暗许数据已经取到了,那几个取多少的操作将由技术员编写,将由程序语言诸如Java来实现。Freemarker模板所用的多寡被卷入成data-model
数据模型,所以说,(HTML)模板 + 数据模型 = (Freemarker)输出

除此以外:数据模型的宗旨结构是树状的,在Freemarker手册团长这种样式比喻为:Computer文件系统。小编个人知道的是:就好像叁个类,它有总体性同样,比如:latestProduct具备url和name四个属性。

图片 1

以此图来源Freemarker普通话手册,小说介绍:该图中变量扮演目录的剧中人物(根root,animal,mouse,elephant,Python,whatnot)被称呼hash哈希表。哈希表通过可找寻的名称(譬喻:“animal”,“mouse”,”price”)来拜候存款和储蓄的别样变量。

上面包车型客车事物感到相比重要,是介绍怎么样运用这个变量的,用青色字体来写:

仅存款和储蓄单值的变量(图中size,price,text和because)称为scalars标量(满含的种类有:字符串、数字、日期/时间、布尔值)

若是要在模板中使用子变量,那应该从根root开头钦定它的门径,每级之间用点来分隔。比方访问price,写成:animals.mouse.price

上面的图还应该有另外一种样式:

图片 2

在上头那幅图中,诸如animal,whatnot.fruits并未有存款和储蓄变量的称号,而是按梯次存款和储蓄子变量,能够利用数字索引来访谈这一个子变量。这种称为sequences体系

怎么使用:
能够采用数组的方括号格局访谈贰个行列的子变量,注意,索引从0开首。如若要获得第二个动物的名字,代码为:animals[0].name

 

*************************************************************华丽丽的分水线**************************************************************************************************

 

Freemarker基本知识第二有的:

模板介绍:

最轻松易行的沙盘是HTML文件,当客户端访谈页面时,Freemarker要发送HTML代码至客户端浏览器显示,假若要让页面动起来,将要在HTML中放置能被Freemarker所剖析的独竖一帜部分。

${…}: interpolations插值 前面介绍过了

FTL tags标签 :
和HTML标签类似,不过Freemarker的命令不会输出出来的东西。这个标签的施用相似以符号#开端(用户自定义的FTL标签
使用@符号来替代#)

Comments注释 : Freemarker的笺注和HTML的笺注相似,然而用<#–和–>

directives指令 : FTL标签(关系看似于HTML标签table标签

与table成分的关联)

命令介绍:

if指令:

图片 3

如果if判断user不是Big Joe将跳过<#if condition>和标签间的剧情

其他参照他事他说加以考察代码:

图片 4

list指令:

列表遍历集结的源委。示例代码:

图片 5

出口的结果将会是那样的:

图片 6

list指令的一般格式为:

<#list sequence as loopVariable>repeatThis

include指令:

采纳include指令,能够在脚下的沙盘中插入其余文件的从头到尾的经过。

事例:在有个别页面中浮现版权申明的信息。能够创造贰个文书单独包含版权注脚copyright_footer.html,在必要的地点插入。

图片 7

include指令插入:

图片 8

输出内容为:

图片 9

一路利用指令:(例子将遍历动物合集,使用中号字体打字与印刷大型动物的名字)

图片 10

 

管理荒诞不经的变量:

 

Freemarker无法忍受援用不设有的变量,除非鲜明地告诉它当变量不设有的时候怎么处理。(注意:对于不设有的变量和三个值为null的变量Freemarker都以不能够耐受的)有三种管理方法:

一、能够钦定默许值

变量名前面随着!和暗中同意值,比方:

图片 11

要是user遗失,将私下认可使用Anonymous

二、提前提供遗失的化解措施,比方:

图片 12

在变量名前面停放??来打听Freemarker三个变量是不是留存,如若海市蜃楼,将忽略以上整段代码

 

图片 13

 

 

http://www.bkjia.com/Javabc/1121026.htmlwww.bkjia.comtruehttp://www.bkjia.com/Javabc/1121026.htmlTechArticlefreemarker的初步学习 1、Freemarker是怎样?
百度百科说:Freemarker是一款模板引擎,我是小白,很缺憾,作者也不知底模板引擎是个什么东西,不…

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图