zoukankan      html  css  js  c++  java
  • 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”目录下)编写模板了。

      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 Templates spring.groovy.template.cache
    Mustache spring.mustache.cache
    Thymeleaf spring.thymeleaf.cache

      默认情况下,这些属性都设置为true,以便于启用缓存。我们可以将缓存属性设置为false,从而禁用所选模板引擎的缓存。

      唯一需要注意的是,在将应用部署到生产环境之前,一定要删除这一行代码(或将其设置为true)。有一种方法是将该属性设置到profile中,另外一种更简单的方法是使用Spring Boot的DevTools。

  • 相关阅读:
    bat过滤任意字符
    汇编代码之修改文件时间
    使用C语言编写提取通用shellcode的程序
    汇编代码之修改文件时间
    VC++6.0中内存泄漏检测
    透视木马程序开发技术
    bat过滤任意字符
    VC++6.0中内存泄漏检测
    透视木马程序开发技术
    使用C语言编写提取通用shellcode的程序
  • 原文地址:https://www.cnblogs.com/fanqisoft/p/13063513.html
Copyright © 2011-2022 走看看