FreeMarker模板文件的组成(2)
1.FreeMarker模板文件主要由如下4个部分组成:
1.1文本:直接输出的部分
1.2注释:<#-- ... -->格式部分,不会输出
1.3插值:即${...}或#{...}格式的部分,将使用数据模型中的部分替代输出
1.4FTL指令:FreeMarker指定,和HTML标记类似,名字前加#予以区分,不会输出
2.概要介绍四部分
最简单的模板是普通 HTML 文件(或者是其他任何文本文件—FreeMarker 本身不属于HTML)。当客户端访问页面时,FreeMarker 要发送 HTML 代码至客户端浏览器端显示。如果想要页面动起来,就要在 HTML 中放置能被 FreeMarker 所解析的特殊部分。
2.1 ${…}:FreeMarker 将会输出真实的值来替换花括号内的表达式,这样的表达式被称为interpolations 插值 .(EL表达式语法)
2.2 FTL tags 标签(FreeMarker 模板的语言标签):FTL 标签和 HTML 标签有一点相似,但是它们是FreeMarker 的指令而且是不会直接输出出来的东西。这些标签的使用一般以符号#开头。(用户自定义的 FTL 标签使用@符号来代替#)
2.3 Comments 注释:FreeMarker 的注释和 HTML 的注释相似,但是它用<#--和-->来分隔的。任何介于这两个分隔符(包含分隔符本身)之间内容会被 FreeMarker 忽略,就不会输出出来了。
2.4 其他任何不是 FTL 标签,插值或注释的内容将被视为静态文本,这些东西就不会被FreeMarker 所解析,会被按照原样输出出来。
备注:
directives指令:就是所指的FTL 标签。这些指令在 HTML 的标签(如<table>和</table>)和 HTML 元素(如 table 元素)中的关系是相同的。(如果现在你还不能区分它们,那么把“FTL 标签”和“指令”看做是同义词即可。)
3.FreeMarker模板的例子
<html><br> <head><br> <title>Welcome!</title><br> </head><br> <body><br> <#-- 注释部分 --><br> <#-- 下面使用插值 --> <h1>Welcome ${user} !</h1><br> <p>We have these animals:<br> <u1><br> <#-- 使用FTL指令 --> <#list animals as being><br> <li>${being.name} for ${being.price} Euros<br> <#list><br> <u1><br> </body><br> </html>
转载于:https://www.cnblogs.com/kjitboy/p/5092374.html
FreeMarker模板文件的组成(2)相关推荐
- freemarker模板文件中文本域(textarea)的高度自适应实现
2019独角兽企业重金招聘Python工程师标准>>> freemarker模板文件中实现文本域(textarea)的高度自适应实现. 从网上找的大部分办法中很多方法兼容性并不好,要 ...
- Aspose-words结合Freemarker实现word邮件合并功能,批量处理word模板文件
最近的工作中有一个需求,需要处理word文档,有一些内容需要根据不同用户进行替换修改,使用的是word文档,替换后的内容还需要转换为pdf进行签章确认,并进行防篡改处理. 所以记录一下处理步骤,首先可 ...
- freemarker模板生成pdf文件
文章目录 1.pom依赖 2.ftl模板以及宋体文件 2.1.文件路径 2.2.ftl文件模板(test.ftl) 3.controller生成pdf文件 1.pom依赖 <!--freemar ...
- freemarker 模板生成pdf文件并下载
利用freemarker 模板生成pdf文件,通过浏览器直接下载或生成文件到指定目录 1.pom.xml文件 <!--引入Freemarker的依赖--> <dependency&g ...
- Java使用Freemarker通过模板文件导出PDF文件、横向显示
前言: 尝试了不少通过模板文件导出pdf文件的方法,要么实现起来复杂,要么实现效果不理想,经过反复查找资料和尝试发现此方法是最理想的. 本博客又经大量网友实践及建议,经过几次完善修改,又日趋完善,在此 ...
- 自建html网页,幽灵自建的html5 的模板文件!
*{ font-family:Source Code Pro,Microsoft YaHei; padding:0; margin:0; } .main{ width: 80%; height: 45 ...
- Spring发送基于freemarker模板的邮件
在项目开发过程中,我们经常会遇到需要发送邮件的场景,比如:用户验证邮箱的时候,有活动通知或者提醒通知的时候--有些时候我们可能只需要发送一些简单文本内容即可,但是大多数情况下我们更希望邮件的内容是丰富 ...
- Freemarker模板---引擎学习
一.简要概述 Freemarker是一款模板引擎,是一种基于模版生成静态文件的通用工具,它是使用纯java编写的,一般用来生成HTML页面. 这段时间学习的主要是嵌套freemarker中的取值表达式 ...
- Java之利用Freemarker模板引擎实现代码生成器,提高效率
开心一笑 [1.你以为我会眼睁睁的看着你去送死?我会闭着眼睛.2.给你讲个故事,从前有个笨蛋,他非常笨,别人问他问题他只会回答"没有",这个故事你听过吗?] 视频教程 大家好,我录 ...
最新文章
- Xcode多Target设置
- 3.列表(一个打了激素的数组)
- PMCAFF | 为什么找一款CRM软件那么难?
- 国内有哪些自然语言处理(NLP)专业比较厉害的985高校?
- python操作excel表格写入多行和多列_python多处理:写入同一excel-fi
- 【编程练习】八大排序算法
- 单向链表的python实现
- markdown 常用语法格式
- mysqladvisor安装
- GP数据库(Greenplum)单机版安装
- outlook显示imap服务器已关闭,允许 Outlook Web App 中的最终用户查看 POP3、IMAP4 和 SMTP 服务器设置...
- Unity 游戏数据的存档读档,数据加密与解密
- 某finecms的csrf漏洞(CVE-2018-18191)
- 欢迎使用CSD 第三方士大夫胜多负少的N-markdown编辑器
- 记录下微信小程使用websokce的Bug
- pdf格式如何压缩大小?压缩pdf大小的方法?
- Android 双卡双待 资料
- 经纬度定义、经纬度格式、GDAL中地理坐标转换及地理坐标屏幕显示
- 抖音达人探店有用吗?算不算过时呢
- Java内存马简单实现
热门文章
- [Socket网络编程]一个封锁操作被对 WSACancelBlockingCall 的调用中断。
- Android的Intent Action 大全
- 发生TM锁争用的情况
- cannot write file to virtual machine aborting the file copy operation.
- Cannot resolve corresponding JNI function
- 【+】Linux Socket编程
- java反序列化漏洞实战
- Matlab subs函数的用法
- 冰与火之歌:「时间」与「空间」复杂度
- tf.contrib.slim add_arg_scope