现在的主流开发模式都是采用前后端分离开发,但是作为个人开发者来说,前后端分离开发所带来的问题也是不少的,例如常见的ajax跨域问题,笔者在跨域请求的问题上使用了jsonp来解决,但是这次我们主要来讲讲结合Freemarker模版引擎(前后端不分离)来进行页面的开发。
对于不会设计页面的前端小白们来说,福音到了,因为现在有很多优秀的开源BootStrap现成模版可以供给我们使用。那么后端程序员在开发上有不用过多的关注页面的开发,减少开发时间。
Freemarker的原理图如下:
接下来我来讲述一下Springboot整合Freemarker模版引擎(类似jsp)的一些步骤。
1.首先新建一个Springboot web项目(Maven),笔者在之前的博文已经给出,这里就不做阐述。
2.新建好Springboot web项目之后,我们需要为项目添加Freemarker依赖。找到pom文件,添加以下依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
3.我们在application.properties文件
#Freemarker配置
spring.freemarker.template-loader-path=classpath:/templates/
spring.freemarker.charset=utf-8
spring.freemarker.cache=false
spring.freemarker.expose-request-attributes=true
spring.freemarker.expose-session-attributes=true
spring.freemarker.expose-spring-macro-helpers=true
spring.freemarker.suffix=.ftl
4.根据第三步的配置信息,我们在resources中的templates文件夹里新建flt文件(与html语法大致相同)
5.编写测试类。
①Controller:
@Controller
public class TestProject {
@RequestMapping(value = "/HelloFreemarker")
public String HelloTest(Model m){
m.addAttribute("name","小明");
m.addAttribute("sex","男");
m.addAttribute("age","23");
return "/HelloWorld";
}
}
②HelloWorld.ftl文件:
6.编译执行的结果如下图:
至此,数据已经能在视图层显示。
关于Freemarker的更多使用方法请查阅官方文档:https://freemarker.apache.org/