freemarker是个不错的模板引擎,在网页静态化的模板使用中口碑很好,今天就用springboot来整合这个模板。
1、首先就要在pom.xml里添加依赖,前提的springboot相关的依赖也都是必须的。
2、第二部就是把freemarker的一些配置信息加到资源文件上,spring.freemarker.template-loader-path指的是freemarker文件的路径信息,spring.freemarker.cache这个表示的是缓存是否打开,其他几个都是常规配置,基本不需要修改的。最后一项spring.freemarker.suffix=.ftl指明了freemarker文件的后缀名为.ftl。
3、在指定目录下创建模板文件,为了测试可用,添加了一个资源文件作为数据源。
index.ftl即为创建的模板文件,对照资源文件来填写请求数据。
资源文件随便写的,真用起来数据源多数还是要请求数据库。
4、读取资源文件数据,然后创建Controller,并在Controller完成数据传递。
读取资源文件信息用了 @Component,@ConfigurationProperties,@PropertySource三个注解,实体类属性对应资源文件,并添加Setter和Getter方法。
创建controller类,添加调试方法,把资源数据通过ModelMap传送到index.ftl上,这里的返回字符串上不用加后缀,因为默认.ftl。
5、启动项目,注意控制台的输出信息是否有误,打开浏览器按路径发起请求。出现了信息和资源文件设置的一样,正确!
6、说一些其他方面知识点,读取资源文件也可以用其他方式,比如用这个注解 @Value("${demo.name}"),也可以不新增文件。写法很多。再一个就是ModelMap这个类出处org.springframework.ui.ModelMap),在Spring框架里会自动创建实例,ModelMap对象可以把controller方法里的数据传递到前端,类似request对象的setAttribute。
7、总结下这个springboot 整合freemarker模板引擎还是挺简单,添加依赖建文件,搞定数据来源传递数据就ok。