【第22期】观点:IT 行业加班,到底有没有价值?

FreeMarker自学之路 (一)初识

原创 2017年01月03日 08:42:05

freemarker 是一款模板引擎,之前我并没有接触过。上个月老师拿来一个项目,用的freemarker做的,感觉挺不错的,就想学习一下。
其实吧,学一门新知识我是很迷茫的,不知从哪开始学习,希望各位同行们提宝贵的意见,不胜感激!!!

freemarker (即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页、电子邮件、配置文件、源代码等)的通用工具。 它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。)

工作原理:
假设在一个应用系统中需要一个HTML页面如下:

<html>
    <head>
        <title>Welcome!</title>
    </head>
    <body>
        <h1>Welcome Big Joe!</h1>
        <p>Our latest product:
        <a href="products/greenmouse.html">green mouse</a>!
    </body>
</html>
页面中的用户名(即上面的“Big Joe”)是登录这个网页的访问者的名字, 并且最新产品的数据应该来自于数据库才能随时更新。所以,不能直接在HTML页面中输入“Big Joe”、“greenmouse”及链接, 不能使用静态HTML代码。可以使用要求输出的模板来解决,模板和静态页面是相同的,只是它会包含一些FreeMarker将它们变成动态内容的指令:
<html>
    <head>
        <title>Welcome!</title>
    </head>
    <body>
        <h1>Welcome ${user}!</h1>
        <p>Our latest product:
        <a href="${latestProduct.url}">${latestProduct.name}</a>!
    </body>
</html>
模板文件存放在Web服务器上,当有人来访问这个页面,FreeMarker就会介入执行,然后动态转换模板,用最新的数据内容替换模板中${...}的部分,之后将结果发送到访问者的Web浏览器中。访问者的Web浏览器就会接收到例如第一个HTML示例那样的内容(也就是没有FreeMarker指令的HTML代码),访问者也不会察觉到服务器端使用的FreeMarker。(存储在Web服务器端的模板文件是不会被修改的;替换也仅仅出现在Web服务器的响应中。)
为模板准备的数据整体被称作为数据模型。数据模型是树形结构(就像硬盘上的文件夹和文件),在视觉效果上, 数据模型可以是(这只是一个形象化显示,数据模型不是文本格式,它来自于Java对象)

基本语法:
${…}:FreeMarker将会输出真实的值来替换大括号内的表达式,这样的表达式被称为interpolation(插值)。
注释:注释和HTML的注释也很相似,但是它们使用<#– and –>来标识。不像HTML注释那样,FTL注释不会出现在输出中(不出现在访问者的页面中),因为FreeMarker会跳过它们。
FTL标签(FreeMarker模板的语言标签):FTL标签和HTML标签有一些相似之处,但是它们是FreeMarker的指令,是不会在输出中打印的。这些标签的名字以#开头。(用户自定义的FTL标签则需要使用@来代替#)

参考来源:FreeMarker

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

我对BPM认识之路(7):初识BPM,原来竟是一场误解

LINK:我对BPM认识之路(1):引言LINK:我对BPM认识之路(2):从国内工作流应用谈起(上)LINK:我对BPM认识之路(3):从国内工作流应用谈起(下)LINK:我对BPM认识之路(4):...

uc/os学习之路(一) —— 初识uc/os

目录树

欢迎关注CSDN程序人生公众号

关注程序员生活,汇聚开发轶事。

我对BPM认识之路(7):初识BPM,原来竟是一场误解

LINK:我对BPM认识之路(1):引言LINK:我对BPM认识之路(2):从国内工作流应用谈起(上)<
  • ww2
  • ww2
  • 2007-01-08 22:21
  • 356

C++到Java的学习之路--初识java(一)变量初始化

java
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)