SpringBoot视图模板库
Spring⾮常灵活,能够⽀持多种常见的模板⽅案,除个别情况之外,你所选择的视图模板甚⾄本⾝并不知道它在于Spring协作。
1.SpringBoot⾃动装配所⽀持的模板⽅案
模板SpringBoot Starter依赖
FreeMarker spring-boot-starter-freemarker
Groovy Templates spring-boot-starter-groovy-templates
Java Server Pages(JSP)⽆(由Tomcat或Jetty等Servlet容器提供)
Mustache spring-boot-starter-mustache
Thymeleaf spring-boot-starter-thymeleaf
通常来讲,你只需要选择想要的视图模板库,将其作为依赖项添加到构建⽂件中,然后就可以在“/templates”⽬录下(在基于Maven或Gradle构建的项⽬中,它会在“src/main/resources”⽬录下)编写
模板了。
thyme SpringBoot会探测到你所选择的视图模板库,并⾃动配置为SpringMVC控制器⽣成视图所需的各种组件。
2.额外说明
JSP并需要在SpringBoot构建⽂件中添加任何特殊的依赖,这是因为Servlet容器本⾝(默认是Tomcat)会实现JSP,因此不需要额外的依赖。
但是,如果你选择使⽤JSP,会有另外⼀个问题。
事实上,Java Servlet容器(包括嵌⼊式的Tomcat和Jetty容器),通常会在“/WEB-INF”⽬录下寻JSP,如果我们将应⽤构建成⼀个可执⾏的JAR⽂件,就⽆法满⾜这种需求了。
因此,只有将应⽤构建为WAR⽂件并部署到传统的Servlet容器中时,才能选择JSP⽅案。
如果你想要构建可执⾏的JAR⽂件,那么必须选择Thymeleaf、FreeMarker等上表中的其它⽅案。
3.视图模板缓存
默认情况下,视图只会在第⼀次加载时解析⼀次,之后的再次请求将会读取缓存。对于⽣产环境来说,这是⼀个很棒的特性,它能防⽌每次请求时多余的模板解析过程,有助于提⾼性能。
但是在开发阶段,这个特性就不太友好了。因为每次查看变更后的效果需要重新启动引⽤。
幸运的是,我们可以通过禁⽤缓存来解决上⾯的问题
模板启⽤/禁⽤模板缓存的属性
FreeMarker spring.freemarker.cache
Groovy vy.template.cache
Mustache spring.mustache.cache
Thymeleaf spring.thymeleaf.cache
默认情况下,这些属性都设置为true,以便于启⽤缓存。我们可以将缓存属性设置为false,从⽽禁⽤所选模板引擎的缓存。
唯⼀需要注意的是,在将应⽤部署到⽣产环境之前,⼀定要删除这⼀⾏代码(或将其设置为true)。
有⼀种⽅法是将该属性设置到profile中,另外⼀种更简单的⽅法是使⽤Spring Boot的DevTools。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论