freeMarker
背景:
今天部署完cms工程,需要熟悉了解cms工程。在cms模板中涉及到freeMarker标签,自己没有接触过,从头开始学习了一下。下面主要介绍一点freeMarker基础知识点,有不正确之处,欢迎指出。谢谢
学习内容
1、什么是freeMarker
FreeMarker 是一款模板引擎:即一种基于模板、用来生成输出文本(任何来自于 HTML 格式的文本用来自动生成源代码)的通用工具。
2、FTL tags标签
(FreeMarker 模板的语言标签):FTL 标签和 HTML 标签有一点相似。标签一般使用#开头
3、注释
FreeMarker的注释使用<#- 注释内容 -->
4、directives 指令
就是所指的 FTL 标签。
5、指令基本示例:
If指令 当user=liaowp时,在后面增加一个boy。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>if指令</title>
</head>
<body>
<h1>
hello ${user}<#if user == "liaowp">boy </#if>
</h1>
<p>welcome to freeMarker:<a href="${con.url}">${con.content}</a></p>
</body>
</html>
If-----else指令
<#if user == "liaowp">
<#include "../include/header.html"/>
<#else>
<#include "../include/foot.html"/>
</#if>
list指令
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>list指令</title>
</head>
<body>
<#list humman as user>
<p>${user.name}</p>
</#list>
</body>
</html>
list 指令的一般格式为: <#list sequence as loopVariable>repeatThis</#list> repeatThis 部分将会在给定的sequence 遍历时在每项中重复,从第一项开始, 一个接着一个。在所有的重复中,loopVariable 将持有当前项的值。这个循环变量仅 存在于<#list …>和</#list>标签之间。
include 指令
在当前的模板中插入其他文件的内容。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>include指令</title>
</head>
<body>
<#include "/heade.html">
</body>
</html>
Switch case break default指令
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>include指令</title>
</head>
<body>
<#switch user>
<#case "liaowp"> liaowp <#break>
<#case "davide"> davide <#break>
<#default> pwl
</#switch>
</body>
</html>