页面静态化工具FreeMarker的使用

页面静态化技术

由于动态页面加载会损耗服务器的性能,使用页面静态化技术:以消化空间成本来降低时间成本;
页面静态化:将原有该通过服务器查询数据显示的页面通过页面静态化技术在创建该数据时,将该数据直接生成在页面模板上并且存储在服务器磁盘中,访问时直接获取该文件路径直接访问,以降低查询数据库的次数,减轻数据库的压力,提高查询效率并且响应速度更快。

FreeMarker

页面静态化技术的一种,全称:FreeMarker Template Language (FTL) 模板是以.ftl为后缀的
注意:
模板 (.ftl) 和数据 (Map对象或Java实体 ,但是List集合不行)

实现步骤:
1.导入freemarker.jar
2.获取模板(Template)对象
获取Configuration对象 – 为了获取模板对象
设置默认加载路径
设置默认编码
获取模板
3.准备数据
map
java实体对象
4.template.process()生成静态资源
5.创建xxx.ftl模板
模板中使用el表达式获取数据
6.测试运行

具体实现:
1.准备 ftl 文件 test.ftl

${id}
${name}
${code}

该文件是所需的模板文件,可以为任意类型文件,内容也可任意,支持 el 表达式

2.通过java代码实现

public class FreeMarkerTest {

	@Test
	public void testFreeMarker() throws Exception {
//		1.导入freemarker.jar
//		2.获取模板(Template)对象
//			获取Configuration对象 -- 为了获取模板对象
		Configuration config = new Configuration(Configuration.VERSION_2_3_28);
//			设置默认加载路径
		File file = new File("src/main/webapp/static/template");
		config.setDirectoryForTemplateLoading(file);
//			设置默认编码
		config.setDefaultEncoding("utf-8");
//			获取模板
		Template template = config.getTemplate("test.ftl");
//		3.准备数据
		ArticleType type = new ArticleType(1L,"这记性真的是","像是得了老年痴呆");
//			map
//			java实体对象
//		4.template.process()生成静态资源
		FileWriter out = new FileWriter(new File(file, "1.txt"));
		template.process(type, out);
		out.close();
//		5.创建xxx.ftl模板
//			模板中使用el表达式获取数据
//		6.测试运行
	}
}

测试运行后将在设置默认加载路径中生成一个 1.txt 文件

1
这记性真的是
像是得了老年痴呆

模板中的标签使用
if标签

<!-- 基本值获取&if的使用 -->
${name}的年龄为:
<#if age lt 18 >
		未成年
<#elseif age gte 18 && age lt 40>
	努力奋斗
<#else>
	年老了
</#if>

list标签

<!-- list的使用 -->
<#list users as user>
	${user.name} === ${user.age}
</#list>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值