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、致謝名單

  • 馮永偉
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章