Java模板引擎之Freemarker
Freemarker定义: 一款模板引擎
Freemarker是一个web图层组件不是web框架,解析服务端数据到页面

小例子:
<#list 集合 as item> list标签对集合进行遍历
<li>${item.name}</li>
<li>item.birthday?string('yyyy-MM-dd')}</li> 日期格式化,"?string"表示调用方法格式化时间
java中常用的数据模型:

取值指令:


对于boolean类型的变量,在页面中显示的是yes,因为显示true会让页面报错。这需要在配置文件中进行转换配置。

Freemarker支持的是java.sql.Date,可以直接输出,如果使用java.util.Date会报错,
可以这样处理:1 使用java.sql.Date转换 2 在模板中使用?string('yyyy-MM-dd')进行转换
${var!默认值}
默认值只在null或变量不存在时输出
定义一个变量: <#assign var=value>
${var?html}
对var变量值里的html标签进行转义,并输出富文本
富文本指html标签和文
!判断最近变量是否存在。不存在就不输出。可以避免错误信息 例如取自定义变量的值:${user.name!}这样只能判断name是否存在,如果user也不存在的话就会报错,
但我们可以用()把user.name包起来,${(user.name)!}
对集合进行遍历:

对Map进行遍历:

if语法:

对myList判断是否为空,如果空的话就不走if内部的这段代码了。下面两个效果一样。

switch语法:

string 基本操作指令:

自定义指令: 自定义指令用@,内建指令用#,user 和role是入参,键值对的形式,不用,隔开。result1和result2是出参,用,隔开。

还要在配置文件里进行配置:

第三步:实现接口

freemarker常用内建函数:





Java模板引擎之Freemarker的更多相关文章
- Java模板引擎之Freemarker 学习笔记 一
什么是Freemarker Freemarker是模板引擎,不是Web框架,只是视图层的组件,官网是 https://freemarker.apache.org/ Freemarker原理 数据模型+ ...
- Java模板引擎之freemarker简介
- Java模板引擎Freemarker
Java模板引擎Freemarker 1.取值(插值)指令 2.逻辑指令:if.switch 3.字符串.集合操作 4.自定义函数 5.list排序内建函数.常用指令 6.自定义指令 7.freema ...
- Beetl学习总结(1)——新一代java模板引擎典范 Beetl入门
1. 什么是Beetl Beetl目前版本是2.7.0,相对于其他java模板引擎,具有功能齐全,语法直观,性能超高,以及编写的模板容易维护等特点.使得开发和维护模板有很好的体验.是新一代的模板引擎. ...
- jetbrick,新一代 Java 模板引擎,具有高性能和高扩展性
新一代 Java 模板引擎,具有高性能和高扩展性. <!-- Jetbrick Template Engineer --> <dependency> <groupId&g ...
- Java 模板引擎 jetbrick-template
jetbrick-template 是一个新一代 Java 模板引擎,具有高性能和高扩展性. 适合于动态 HTML 页面输出或者代码生成,可替代 JSP 页面或者 Velocity 等模板. 指令和 ...
- Java模板引擎 HTTL
新一代java模板引擎典范 Beetl http://www.oschina.net/p/httl HTTL(Hyper-Text Template Language)是一个高性能的开源JAVA模板引 ...
- httl开源JAVA模板引擎,动态HTML页面输出
HTTL(Hyper-Text Template Language)是一个适用于HTML输出的开源JAVA模板引擎,适用于动态HTML页面输出,可用于替代JSP页面,它的指令类似于Velocity. ...
- springboot:Java模板引擎Thymeleaf介绍
Thymeleaf是一款用于渲染XML/XHTML/HTML5内容的模板引擎.类似JSP,Velocity,FreeMaker等,它也可以轻易的与Spring MVC等Web框架进行集成作为Web应用 ...
随机推荐
- 2019-03-27-day020-单继承与多继承
昨日回顾 类的加载顺序 类内部的代码什么时候执行? 除了方法里面的代码 其余的所有内容都是在执行这个文件的时候就从上到下依次执行的 不需要调用 如果有同名的方法.属性,总是写在后面的会生 class ...
- 搭建VUE项目
1.换源由于npm源服务器在国内访问速度较慢,所以一般需要更换源服务器地址npm config set registry https://registry.npm.taobao.org也可以安装cnp ...
- python day08作业答案
1. a f=open('11.txt','r',encoding='utf-8') a=f.read() print(a) f.flush() f.close() b. f=open('11.txt ...
- [工作日志] 2018-11-21 主要: 改bug 自测 :校验图片后缀名
正则表达式 用以下方式去校验图片的后缀 String reg = ".+(.JPEG|.jpeg|.JPG|.jpg)$";String imgp= "Redocn_20 ...
- [BUG]数据库日期格式, 到页面是毫秒值
springboot 配置文件
- 【leetcode】344. Reverse String
problem 344. Reverse String solution: class Solution { public: void reverseString(vector<char> ...
- Unity 3D中ToLua-UGUI使用说明、导入Unity流程、制作登陆界面
ToLua制作登录界面 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 请支持大神开发者:骏擎CP,蒙哥等奔 ...
- poj1504 Adding Reversed Numbers
Adding Reversed Numbers Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 17993 Accepted: 9 ...
- PTA——统计区间内质数
PTA 7-33 统计素数并求和 #include<stdio.h> #include<math.h> int prime(int p); int main() { int m ...
- eclipse打jar包解决第三方依赖包
在项目根目录下手动MANIFEST.MF(eclipse无法自动生成) MANIFEST.MF Manifest-Version: 1.0 Class-Path: lib/kafka-clients- ...