SpringBoot 自动继承了thymeleaf、freemark、velocity三种模板技术,因为我项目中需要用来Freemark模板进行生成Java类所以,就整合了SB+F。
另外有一点说明下, 可能有人说用模板引擎对性能有一定影响,另外现在的趋势都是前后端完全分离
,通过诸如Angular、jQuery等前端框架与后台进行数据交互。虽然说得不错,但是!....如果项目分前台后台,并且不想用模板的话建议只在后台玩玩就行了
,如果是开发网站前台的话, 还是建议老老实实的用模板或者纯静态页面
等。 究其原因,现在做网站做优化都是针对于搜索引擎
(比如百度引擎、360引擎、Google引擎等)的,想要的结果就是能被搜索引擎快速收录
,因为引擎收录的越多,则展现到用户面前的机会就越多流量也就越多(流量 === 金钱)。但是前后端完全分离通过Ajax、Pjax与后台进行数据交互的页面对搜索引擎来说是不友好的
,可能对收录有影响,收录少≈用户少,用户少≈流量少,流量少===网站会入不敷出,入不敷出≈破产,破产≈找不到女朋友,找不到女朋友===单身狗!
跑偏了,吧啦吧啦这么多只是想说明,目前来说在搜索引擎对Ajax还不是太友好的前提下,为保证流量尽量使用模板或实现纯静态。
继续...
1.配置pom文件,引入Freemarker
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
2.配置模板属性(application.properties)
# FREEMARKER (FreeMarkerAutoConfiguration)
spring.freemarker.allow-request-override=false
spring.freemarker.allow-session-override=false
spring.freemarker.cache=false
spring.freemarker.charset=UTF-8
spring.freemarker.check-template-location=true
spring.freemarker.content-type=text/html
spring.freemarker.enabled=true
spring.freemarker.expose-request-attributes=false
spring.freemarker.expose-session-attributes=false
spring.freemarker.expose-spring-macro-helpers=true
spring.freemarker.prefer-file-system-access=true
# 这是重点, 会过滤.ftl后缀的文件
spring.freemarker.suffix=.ftl
# spring boot 默认的页面模板存放目录
spring.freemarker.template-loader-path=classpath:/templates/
spring.freemarker.settings.template_update_delay=0
spring.freemarker.settings.default_encoding=UTF-8
spring.freemarker.settings.classic_compatible=true
spring.freemarker.order=1
3.编写Controller
@RequestMapping("/hello/{name}")
public String hello(@PathVariable("name") String name, Model model) {
model.addAttribute("name", name);
model.addAttribute("age","25");
model.addAttribute("sex","man");
model.addAttribute("birth",new Date());
return "hello";
}
4.编写ftl页面模板
<!DOCTYPE html>
<html lang="en">
<head>
<title>SpringBoot + Freemarker</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
Hello ${name}${age}${sex}
<p>${birth?string("yyyy-MM-dd HH:mm:ss.sss")}</p>
</body>
</html>
5.启动Application、访问hello/{name}
THE END!
下一节:集成Mybatis
最后的最后,在呼吁一下:
这个标签该更新一下了,这篇文章的标签我居然不知道该选什么...Spring没有,Spring Boot也没有,Maven更没有。
我可以对一个人无限的好,前提是值得。 ——慕冬雪
热门评论
收录少≈用户少,用户少≈流量少,流量少===网站会入不敷出,入不敷出≈破产,破产≈找不到女朋友,找不到女朋友===单身狗!
我就是想知道收录少单身狗有什么关系?
收录少≈用户少,用户少≈流量少,流量少===网站会入不敷出,入不敷出≈破产,破产≈找不到女朋友,找不到女朋友===单身狗!
我就是想知道收录少单身狗有什么关系?
使用thymeleaf模版的时候,虽然能正常使用,但是总是有这样的告警,请问怎么解决
而且这是个error,作为强迫症有点受不了