关于FreeMarker的使用入门

FreeMarker 是一款 模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具。 它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。

FreeMarker的一些亮点 

强大的模板语言:条件块,迭代,赋值,字符串和算术运算和格式化,宏和函数,包括其他模板,默认转义(可选)等等

多用途和轻量级:零依赖性,任何输出格式,都可以从任何地方加载模板(可插入),多种配置选项 

国际化/本地化感知:区域设置敏感数字和日期/时间格式化,本地化模板变化。 

XML处理功能:将XML DOM-s放入数据模型并遍历它们,甚至以声明方式处理它们通用数据模型:Java对象通过可插入适配器作为变量树暴露给模板,决定模板如何看待它们

什么是静态页面化技术

在访问新闻、活动、商品详情页面时,路径可以是xxid.html,服务器端根据请求id,动态生成html网页,下次访问数据时,无需再查询数据,直接将html静态页面返回,目的是减少数据库交互,提高查询性能

将动态数据访问,缓存为一个静态html页面,提高查询效率

Freemarker使用入门

1Freemarker

Struts2默认使用freemarker实现自定义标签模板,项目导入struts2就已经导入freemarker jar

模板文件+java数据对象  输出(任何格式文本)

Freemarker模板文件,通常扩展名称.ftl(使用.html .jsp都可以)

1)安装freemarker eclipse编辑插件

将”freemarker_eclipse plugins” 复制到STSdropins文件夹,重启开发工具

2)编辑freemarker的模板文件

通常模板文件放在WEB-INF下,或者classes

变量是${}代替的

入门代码

/不存在
			//模板  +  数据模型  =  输出
			//1、创建Configuration,生成模板实例
			Configuration configguration = new Configuration(Configuration.VERSION_2_3_22);
			//拿到文件路径
			configguration.setDirectoryForTemplateLoading
			(new File(ServletActionContext.getServletContext().getRealPath("/WEB-INF/promotion_Freemarker")));
			System.out.println(ServletActionContext.getServletContext().getRealPath("/WEB-INF/promotion_Freemarker"));
			//2拿到指定模板
			Template template = configguration.getTemplate("promotion_detail.ftl");
			//3填充数据
			Map<String, Object> map = new HashMap<String, Object>();
			map.put("promotion", promotion);
			//合并并输出
		        FileUtils.copyFile(htmlFile, ServletActionContext.getResponse().getOutputStream());

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值