freeMarker

Posted 鹏鹏

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了freeMarker相关的知识,希望对你有一定的参考价值。

背景:

今天部署完cms工程,需要熟悉了解cms工程。在cms模板中涉及到freeMarker标签,自己没有接触过,从头开始学习了一下。下面主要介绍一点freeMarker基础知识点,有不正确之处,欢迎指出。谢谢

学习内容

1、什么是freeMarker

FreeMarker 是一款模板引擎:即一种基于模板、用来生成输出文本(任何来自于 html 格式的文本用来自动生成源代码)的通用工具。

2、FTL tags标签

FreeMarker 模板的语言标签):FTL 标签和 HTML 标签有一点相似。标签一般使用#开头

3、注释

FreeMarker的注释使用<#- 注释内容 -->

4directives 指令

就是所指的 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>

以上是关于freeMarker的主要内容,如果未能解决你的问题,请参考以下文章

freemarker 笔记

freemarker 笔记

Freemarker的使用方法

Spring mvc整合freemarker详解

Spring mvc整合freemarker详解

Spring mvc整合freemarker详解