Freemarker技术的特点:
1,首先就是访问速度,不需要去访问数据库,或者缓存来获取哪些数据,浏览器直接加载渲染html页即可。所以可以大大的提高访问效率;
2,从网站优化来分析,搜索引擎更喜欢静态的网页,静态网页与动态网页相比,搜索引擎更喜欢静的,更便于抓取,搜索引擎SEO排名更容易提高。
3,从安全角度讲,静态网页不宜遭到黑客攻击,如果黑客不知道你网站的后台、网站采用程序、数据库的地址,静态网页, 更不容易受到黑客的攻击。
4,从网站稳定性来讲,如果程序、数据库出了问题,会直接影响网站的访问,而静态网页就避免了如此情况,不会因为程序等,而损失网站数据,影响正常打开,损失用户体验,影响网站信任度。
注意问题:
1,随着项目的扩大,静态html页面将会不断的增大,增多,所以要注意管理这些静态页面。例如路径的管理,及时更新的管理等等。
2,有些页面并不一定非要来静态化,但是为了避免地址暴露过多的信息,也可以用URL伪静态,使页面看起来就像静态页面一样,原理只是一个Filter。
使用:
Struts2默认使用freemarker实现自定义标签模板,项目导入struts2就已经导入freemarker jar包
模板文件+java数据对象 输出(任何格式文本)
Freemarker模板文件,通常扩展名称.ftl(使用.html .jsp都可以)
1)安装freemarker eclipse编辑插件
将”freemarker_eclipse plugin” 复制到STS的dropins文件夹,重启开发工具
2)编辑freemarker的模板文件
通常模板文件放在WEB-INF下,或者classes下
编写测试代码
public class Demo1 {
@Test
public void test() throws IOException, TemplateException {
// 配置对象,配置模版位置
Configuration configuration = new Configuration(Configuration.VERSION_2_3_22);
configuration.setDirectoryForTemplateLoading(new File("src/main/webapp/WEB-INF/template"));
// 获取模版对象
Template template = configuration.getTemplate("hello.ftl");
// 动态数据对象
Map<String, Object> parameterMap = new HashMap<String, Object>();
parameterMap.put("title", "长江七号");
parameterMap.put("msg", "freemarker的入门案例");
// 合并输出
template.process(parameterMap, new PrintWriter(System.out));
}
}
可以直接输出页面,这个时候我们测试是输出在控制台: