Spring Boot模板引擎

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Boot模板引擎 相关的知识,希望对你有一定的参考价值。

1、web应用开发之模板引擎

  • 1.1、spring boot的web应用开发,是基于spring mvc

  • 1.2、Spring boot 在spring默认基础上,自动配置添加了以下特性:

    • 包含了ContentNegotiatingViewResolver和BeanNameViewResolver beans。
    • 对静态资源的支持,包括对WebJars的支持。
    • 自动注册Converter,GenericConverter,Formatter beans。
    • 对HttpMessageConverters的支持。
    • 自动注册MessageCodeResolver。
    • 对静态index.html的支持。
    • 对自定义Favicon的支持。
    • 主动使用ConfigurableWebBindingInitializer bean
  • 1.3、模板引擎的选择

    • FreeMarker
    • Thymeleaf
    • Velocity (1.4版本之后弃用,Spring Framework 4.3版本之后弃用)
    • Groovy
    • Mustache

    注:jsp应该尽量避免使用,原因如下:
    1.jsp只能打包为:war格式,不支持jar格式,只能在标准的容器里面跑(tomcat,jetty都可以)
    2.内嵌的Jetty目前不支持JSPs
    3.Undertow不支持jsps
    4.jsp自定义错误页面不能覆盖spring boot 默认的错误页面

2、FreeMarker Demo

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>

spring-boot-starter-freemarker包依赖包含spring-boot-starter-web

3、Thymeleaf Demo

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

4、Jsp Demo

  • 1.新建spring项目—选择war包—选择web、dev模块;
  • 2.在pom.xml文件添加以下依赖(provided表示编译时包含该包):

    <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-jasper</artifactId>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
    </dependency>
  • 3.在application.xml文件添加以下配置参数:

    spring.mvc.view.prefix=/WEB-INF/templates/
    spring.mvc.view.suffix=.jsp
  • 4.打包后生成的大war包可直接使用java(-jar)命令运行,而小war包需放在容器如tomcat里运行。

5、WebJars Demo -- 附加

<dependency>
    <groupId>org.webjars</groupId>
    <artifactId>jquery</artifactId>
    <version>2.1.4</version>
</dependency>

静态页面的调用:
<script src="/webjars/jquery/2.1.4/jquery.min.js">

6、致谢名单

  • 冯永伟

以上是关于Spring Boot模板引擎 的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot? 使用freemarker模板引擎渲染web视图

spring boot Thymeleaf模板引擎 最简单输出例子

Spring Boot 揭秘与实战 实用技术篇 - FreeMarker 模板引擎

Spring Boot? 使用freemarker模板引擎渲染web视图

spring boot集成模板引擎Thymeleaf中遇到的坑

Spring boot:thymeleaf 没有正确渲染片段