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>

时间: 2024-08-05 17:39:41

freeMarker的相关文章

Maven+SpringMVC+Freemarker入门Demo

1 参考http://blog.csdn.net/haishu_zheng/article/details/51490299,用第二种方法创建一个名为mavenspringmvcfreemarker的Maven工程. 2 文件目录结构如下图所示 3 在pom.xml中添加springmvc和freemarker的依赖包,添加完之后的完整内容为 [html] view plain copy <project xmlns="http://maven.apache.org/POM/4.0.0&q

Freemarker商品详情页静态化服务调用处理

--------------------------------------------------------------------------------------------- [版权申明:本文系作者原创,转载请注明出处] 文章出处:http://blog.csdn.net/sdksdk0/article/details/53151462 作者:朱培      ID:sdksdk0 ----------------------------------------------------

Freemarker 之 Java静态化 实例一

Freemarker是一种强大的web端模板技术,在当前Web开发中,SEO和客户端浏览速度尤为重要,其中将网页静态化是一个很好的解决方案.下面介绍Java中web开发结合Freemarker来实现静态化. 主要分为三步 1 准备好模板文件,如Test.ftl <html> <head> <title>${title}</title> <style type="text/css" link="${rccontextPath

FreeMarker中的日期时间处理

1. FreeMarker中的日期时间格式设置 FreeMarker中可以分别对date.time.datetime三种类型的日期时间设置格式,例如: config.setDateTimeFormat("yyyy-MM-dd HH:mm:ss"); config.setDateFormat("yyyy-MM-dd"); config.setTimeFormat("HH:mm:ss"); 当我们对一个页面变量使用 ?date ?time ?date

Spring mvc 中使用ftl引用共通文件出错 FreeMarker template error: Error reading included file &quot;/WEB-INF/ftl/common/errormessage.ftl&quot;

初次接触spring mvc,想做一个小的练习项目,结果在ftl文件中引用其它的共通ftl文件时出错. 目录结构如图所示,想在login.ftl中引用common下的errormessage.ftl <#include '/WEB-INF/ftl/common/errormessage.ftl' /> 结果画面报错: FreeMarker template error: Error reading included file "/WEB-INF/ftl/common/errormes

freemarker整理

1.FreeMarker模板的内建变量有如下几个: 1,stack:代表ValueStack本身,可通过如下方式来访问其中的变量"${stack.findString('ognl?expr')}" 2,action:代表刚刚执行过的Action实例 3,response:代表HpptServletResponse实例 4,res:代表HpptServletResponse实例 5,request:代表HpptServletRequest实例 6,req:代表HpptServletReq

Spring整合freemarker发送邮件

一. 背景知识 在上一篇博文: 使用JavaMail发送邮件和接受邮件, 我们学习了原生的JavaApi发送邮件, 我们会发现代码比較多, 特别是当邮件内容非常丰富的时候, 我们须要在Java中拼装Html, 是不是认为非常麻烦. 以下我们使用一种比較简单的方法: spring + javaMail + freemarker, 使用freemarker模板引擎后, 我们就不用再在Java中拼装html. 二. 环境准备 废话不多说了, 以下我们准备下开发环境: 1. 所需Jar包: spring

Could not load the FreeMarker template named &amp;#39;select&amp;#39;

眼下项目使用struts2, 所以页面中就使用到了struts2的标签,可是今天在做新的功能的时候突然出现 "Could not load the FreeMarker template named 'select'" 这种错误. 看错误信息是找不到struts2  的select 标签,可是其它页面也都用到了select.也没有出现错误.最后发现问题出在了action中.我在action中定义了一个实体变量,起名为theme, 最后将该变量名称改掉就好了. 因为时间关系没有找到根本原

JSP FreeMarker Velocity 原理

JSP原理 JSP的运行原理:JSP 本质上是一个Servlet. 每个JSP 页面在第一次被访问时,JSP引擎将它翻译成一个Servlet 程序,然后再把这个 Servlet 源程序编译成Servlet 的class 类文件.然后再由WEB 容器(Servlet容器)像调用 Servlet 程序一样的方式装载和解释执行这个由JSP 页面翻译成的 Servlet 程序. FreeMarker 和 velocity 原理 在Struts2框架下,Struts2框架充当了之前的Servlet角色,只

freemarker使用

布尔型必须转为字符串输出 ${team.isClub ? string ("true", "false")} freemarker三目运算:${ (type == “SPOT”) ?string('热点词','热点搜索')} 字符串截取(索引0到索引5) ${team.picNo[0..5]} if..else 语句 <#if team.picNo?length != 18> <#else> </#if> 循环列表 <#li