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的更多相关文章

  1. Java模板引擎之Freemarker 学习笔记 一

    什么是Freemarker Freemarker是模板引擎,不是Web框架,只是视图层的组件,官网是 https://freemarker.apache.org/ Freemarker原理 数据模型+ ...

  2. Java模板引擎之freemarker简介

  3. Java模板引擎Freemarker

    Java模板引擎Freemarker 1.取值(插值)指令 2.逻辑指令:if.switch 3.字符串.集合操作 4.自定义函数 5.list排序内建函数.常用指令 6.自定义指令 7.freema ...

  4. Beetl学习总结(1)——新一代java模板引擎典范 Beetl入门

    1. 什么是Beetl Beetl目前版本是2.7.0,相对于其他java模板引擎,具有功能齐全,语法直观,性能超高,以及编写的模板容易维护等特点.使得开发和维护模板有很好的体验.是新一代的模板引擎. ...

  5. jetbrick,新一代 Java 模板引擎,具有高性能和高扩展性

    新一代 Java 模板引擎,具有高性能和高扩展性. <!-- Jetbrick Template Engineer --> <dependency> <groupId&g ...

  6. Java 模板引擎 jetbrick-template

    jetbrick-template 是一个新一代 Java 模板引擎,具有高性能和高扩展性. 适合于动态 HTML 页面输出或者代码生成,可替代 JSP 页面或者 Velocity 等模板. 指令和 ...

  7. Java模板引擎 HTTL

    新一代java模板引擎典范 Beetl http://www.oschina.net/p/httl HTTL(Hyper-Text Template Language)是一个高性能的开源JAVA模板引 ...

  8. httl开源JAVA模板引擎,动态HTML页面输出

    HTTL(Hyper-Text Template Language)是一个适用于HTML输出的开源JAVA模板引擎,适用于动态HTML页面输出,可用于替代JSP页面,它的指令类似于Velocity. ...

  9. springboot:Java模板引擎Thymeleaf介绍

    Thymeleaf是一款用于渲染XML/XHTML/HTML5内容的模板引擎.类似JSP,Velocity,FreeMaker等,它也可以轻易的与Spring MVC等Web框架进行集成作为Web应用 ...

随机推荐

  1. 关于Q-LEARNING的优化

    Q-LEARNING 最后得到的一个图寻路最佳路径:---直接转化为图关于多顶点深度遍历热度传递 V(level+1) = 0.8 * Max(Vi(level))   这个方法可以在O时间收敛 原方 ...

  2. JavaScript ES6格式化字符串方法

    js想要动态更新文本内容,在ES5中没有格式化字符串的方法,在ES6中是有字符串格式化的方法的. 使用左上角数字1旁边的符号定义字符串.先定义好需要拼接的字符串,在字符串内部使用 ${变量名} 进行拼 ...

  3. 【c++】函数默认参数

    c++ Prime Plus sixth edition page274 如何设置默认值呢?必须通过函数原型. 只有原型指定了默认值.函数定义与没有默认参数时完全相同. 参考 1. http://ww ...

  4. Git忽略文件权限

    有时 git diff 执行显示文件内容没变化,但是git status却是一片姨妈红: 原因是文件的权限,被chmod变化了,这种变化也被 diff 识别出来了,git diff某个文件类似如下: ...

  5. c# 休眠后 定时唤醒

    源码见附件,执行唤醒功能前需要先对电源进行设置如下图: 源码

  6. 将js和css文件装入localStorage加速程序执行

    原理如下: 一次批量加要加载的文件存入数组,采用Ajax方式异步载入各个文件,然后采用循环方式逐个执行下载下来的Js或者Css文件,如果已经被缓存(localStorage)的则省略下载过程. 由于J ...

  7. [LeetCode&Python] Problem 383. Ransom Note

    Given an arbitrary ransom note string and another string containing letters from all the magazines, ...

  8. 安卓与Unity交互之-Android Studio创建Module库模块教程

    安卓开发工具创建Module库 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分 ...

  9. ZOJ - 4089 :Little Sub and Isomorphism Sequences (同构 set)

    Little Sub has a sequence . Now he has a problem for you. Two sequences of length and of length are ...

  10. js 调用 手机 相机摄像机麦克风

    https://www.cnblogs.com/avon/p/5996368.html