
freemarker使用总结
发布日期:2021-05-14 13:23:30
浏览次数:19
分类:精选文章
本文共 1178 字,大约阅读时间需要 3 分钟。
目录
为什么使用freemarker
当用户访问jsp的时候,jsp本质就是servlet,所以访问的时候会被翻译成java类,但是想html这种静态页面不用翻译直接访问速度就快
FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出。FreeMarker与Web容器无关,即在Web运行时,它并不知道Servlet或HTTP。它不仅可以用作表现层的实现技术,而且还可以用于生成XML,JSP或Java 等。
目前企业中:主要用Freemarker做静态页面或是页面展示
简单的Freemarker测试
新建一个web工程,完整的工程目录结构如下:
使用freemarker依赖
org.freemarker freemarker 2.3.23
首先要创建ftl模板文件
在webapp目录下新建ftls文件夹(名称以及存放的位置任意)存放Freemarker的模板
创建hello.ftl模板文件,(freemarker对于拓展名是没有要求的。通常使用ftl作为扩展名)输入如下内容
测试:${hello}
其中的${hello}是Freemarker的语法标签。Freemarker会将这个标签替换为程序中指定的内容。
测试方法
Freemarker语法
访问Map中的key
访问Map中的数据:
${key}
访问POJO中的属性
pojo中的属性:
${stu.id}-${stu.name}
其中stu是pojo对象对应的key:这个对象还是放在map中传递过去的
访问集合中的数据
<#list 集合 as 元素>
取集合中的数据
<#list studentList as student> 下标:${student_index} 集合中的元素:${student.id}/${student.name} </#list>if判断
<#if student_index % 2 == 0>我是if<#else>我是else
日期
${date?date} 2016-9-13${date?time} 17:53:55${date?datetime} 2016-9-13 17:53:55${date?string("yyyy/MM/dd")}
其中date是属性名
dataModel.put("date",new Date
空值处理
如果模板中引用的key不存在,会报异常,用${key!}代表空字符串
处理: ${aaa!"默认值"}或者${aaa!}代表空字符串
include
一个ftl模板中可以引用另一个模板
<#include "hello.ftl">
());
发表评论
最新留言
不错!
[***.144.177.141]2025年04月26日 17时49分27秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
RTL设计- 多时钟域按顺序复位释放
2021-05-12
斐波那契数列两种算法的时间复杂度
2021-05-12
int main(int argc,char* argv[])详解
2021-05-12
【Android踩过的坑】7.Android Studio 点击启动项目时进入调试模式
2021-05-12
【自学Flutter】4.1 Material Design字体图标的使用(icon)
2021-05-12
C++清空队列(queue)方法
2021-05-12
【换行符】什么时候用cin.get()吃掉输入流中的换行符
2021-05-12
【二叉树】已知后序与中序求先序
2021-05-12
数组范围的动态扩容
2021-05-12
解决Nginx 404 not found问题
2021-05-12
计算机网络之第三章笔记--数据链路层
2021-05-12
创建型模式之简单工厂模式实例及代码操作
2021-05-12
广东外语外贸大学第三届网络安全大赛Writeup
2021-05-12
跟着燕青学分布式事务控制技术方案
2021-05-12
Activiti视频分享
2021-05-12
VS2019 报错: LINK Error 无法找到 MSCOREE.lib的解决办法
2021-05-12
关于JS中的内存溢出与内存泄漏
2021-05-12
算法训练——字符串合并
2021-05-12
2021-04-23
2021-05-12
Linux编程基础之创建两个子进程而不创建孙子进程
2021-05-12