freemarker,之前用的版本,是在html中引入js代码,js代码中添加一些动态元素。当时的项目应该叫单页面项目,只有一个html或者jsp。所有的页面元素都是后期请求时动态生成的。因此项目中生产了大量的js文件,首次加载时需要全部下载读入,后期用户体验很不好。
springboot对freemarker也进行了整合,所谓的整合我理解就是以前我们要把多个框架进行整合,有时候要配置各种配置文件,有时候配完文件还要写一些工具方法,这样确实很麻烦,水平差点还不知道怎么下手。现在好了,有人把这些工作全做了,你只要下载他们整合好的依赖包,简单配置一下数据源路径之类的,就可以run起来了。开发效率越来越高了,程序猿会不会越来越退化了呢。
现在我们把html页面内添加freemarker标签之后,变成.ftl文件,直接作为之前的jsp页面使用。倒也不能这么说:他们都是作为view层来使用,用来动态展示数据。只不过,以前大家用jsp,展示数据之前,动态编译成servlet,servlet中请求获取动态数据之后,生成html内容,返回浏览器进行展示。每一个jsp页面都要这么来一下。
现在,由freemarker这个servlet,统一负责读取大家请求的ftl文件,把其中的标签内容填充后,返回到浏览器。这感觉有点像struts的actionServlet,有点像spring的springservlet。这样的好处也是显而易见,以前项目中充斥了大量的servlet,看起来非常杂乱繁复。现在把这些servlet进行了分类,由各自对应的servlet进行管理,他们之间的职责更加清晰了,项目之间更加独立,这不正是面向对象的封装思想么。