Freemarker的使用

首先,什么是Freemarker?

是一种模板引擎;

一种基于模板的、用来生成输出文本的通用工具;

基于java的开发包和类库;

能够生成各种文本:HTML、XML、Java源代码等等。

 

简单了解完Freemarker后,咱来看看它的用途

1、MVC框架中的View层组件(与jsp一致,也支持jsp标签);

2、代码生成工具(Mapper、Dao、Service Model、Controller);

3、页面栏目动态定制(发送邮件的HTML动态订制);

4、Html页面静态化(更加规范,不能编写java代码);

 

既然Freemarker可以替代jsp,那么它所带来的优点是什么,缺点又是什么呢?

【优点】:

1、可以彻底的分离表现层和业务逻辑;

怎么理解呢?众所周知,jsp页面中,可以编写java代码,如:<%@  String str = "abc"; %>,但是在Freemarker的页面(.ftl结尾)是不可以编写Java代码的,

以此达到彻底的分离表现层和业务逻辑。

2、访问页面快;

这又怎么理解呢?有深入了解过jsp的小伙伴应该知道,jsp页面最终是编译为servlet执行的,而Freemarker不需要编译,直接访问;

3、使得开发过程中的人员分工更加明确,提高开发效率。

作为程序开发人员,专注于系统实现,负责提供页面展示的数据即可;

而作为界面人员,只需专注于HTML文件、图像、以及Web页面的其他可视化方面,不用理会数据;

4、内置json支持;

一个json对象,Freemarker页面可以直接使用。如:${json.name}  等同于 json.getString("name");

了解完优点后,缺点也是必须了解滴~

【缺点】:

1、在修改模板后,可能会看到已经过期的数据。

2、变量必须要赋值,如果不赋值,那么就会抛出异常。

3、map限定key必须是string,其他数据类型无法操作。

 

重中之重来了,StringMVC+FreeMarker如何应用

FreeMarkerViewResolver:这就是Spring与Freemarker整合需要用到的解析器。

首先,在pom.xml添加一个依赖(maven会自动下载spring-webmvc所有依赖的包):

在springmvc.xml中配置freemarker视图解析器、模板路径

在controller里的RequestMapping的url是 /index ,即映射到index.ftl界面

 

好了,对Freemarker的介绍到这里就结束了,喜欢的点点关注~

 

posted @ 2018-09-06 15:31  和xin  阅读(1162)  评论(0编辑  收藏  举报