欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringBoot整合thymeleaf 報(bào)錯(cuò)的解決方案

 更新時(shí)間:2021年08月03日 09:45:06   作者:熊熊愛綿羊  
這篇文章主要介紹了SpringBoot整合thymeleaf 報(bào)錯(cuò)的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

近日 在springboot項(xiàng)目中使用thymeleaf時(shí),莫名報(bào)了以下錯(cuò)誤:

在網(wǎng)上查找文章明白了報(bào)錯(cuò)的原因,這是由于如果使用thymeleaf 為模板,那么解析時(shí)就要求html必須為嚴(yán)格的html5格式,即必須有完整的結(jié)束標(biāo)記, 不然就會報(bào)錯(cuò)。

在html頁面中,諸如input,meta,link等標(biāo)簽 ,是可以不用閉合就可以被解析的(自閉合的),但是由于這里嚴(yán)格要求html5格式

于是解決辦法如下:

1) 在報(bào)錯(cuò)的標(biāo)簽上加入 結(jié)束標(biāo)簽。

2) 修改為不嚴(yán)格的模式。

在配置文件中加入如下配置:

mode: LEGACYHTML5

使用該配置,需要加入以下依賴:

  <dependency>
      <groupId>net.sourceforge.nekohtml</groupId>
      <artifactId>nekohtml</artifactId>
      <version>1.9.22</version>
 </dependency>

3) 修改高版本的thymeleaf版本 。

低版本(即spring-boot-starter-parent的版本) SpringBoot 默認(rèn)使用的thymeleaf 版本為 2.1版本 ,該版本無法識別html5中常見的自閉合標(biāo)簽。官方原話,可以使用高版本thymeleaf,并通過配置來解決該問題。

可以在pom文件中強(qiáng)行指定thymeleaf的版本 ,如下:

<thymeleaf.version>3.0.9.RELEASE</thymeleaf.version>
<thymeleaf-layout-dialect.version>2.1.1</thymeleaf-layout-dialect.version>

然后再配置文件中配置如下:

thymeleaf:
    mode: HTML

事實(shí)上,我在使用高版本的springBoot版本(2.0.4.RELEASE)時(shí),并沒有遇到這個(gè)情況 ,而該項(xiàng)目中使用的是1.5.9版本的springboot ,這也從側(cè)面證明該方法可行。

Springboot 集成 Thymeleaf 及常見錯(cuò)誤

Thymeleaf模板引擎是springboot中默認(rèn)配置,與freemarker相似,可以完全取代jsp,在springboot中,它的默認(rèn)路徑是src/main/resources/templates 靜態(tài)文件css, js 等文件默認(rèn)路徑是src/main/resources/static,所有項(xiàng)目中如果沒有這個(gè)目錄需要手動加上了

首先我們要在pom.xml文件中添加依賴

<!-- thymeleaf 模板引用  -->
<dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-thymeleaf</artifactId>  </dependency>

引用之后我們就來測試一下, 在pom.xml中引入依賴之后。你完全可以不用配置(也秉承了springboot 約定優(yōu)于配置)當(dāng)然你如果需要自定義一些屬性,你可以在application.properties 中添加配置。

測試類@Controller

/**
 * @author pillarzhang
 * @date 2019-06-03
 */
@Controller
public class loginController {
    @RequestMapping("/index")
    public String index(){
        return "index";
    }
}

Index,html 頁面如下

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Insert title here</title>
</head>
<body>
<p style="color:red">hello world</p>
</body>
</html>

啟動項(xiàng)目,輸入http://localhost:8081/index 即可看到如下頁面

這就成功的集成了Thymeleaf。

注意:前面也說了,如果你不配置任何屬性依然可以使用,當(dāng)然你也可以自己設(shè)置,在配置文件中application.properties 設(shè)置相應(yīng)的屬性

spring.thymeleaf.prefix=classpath:/templates/  設(shè)置thymeleaf路徑默認(rèn)為src/main/resources/templates
spring.thymeleaf.suffix=.html  設(shè)置thymeleaf模板后綴
spring.thymeleaf.content-type=text/html
spring.thymeleaf.cache=false  是否開啟緩存默認(rèn)為true
spring.thymeleaf.mode=LEGACYHTML5  設(shè)置thymeleaf嚴(yán)格校驗(yàn)
spring.thymeleaf.encoding=UTF-8    設(shè)置編碼

1、配置完成之后一定要注意路徑地址是否正確,

2、一定要用@Controller,如果使用@RestController,有可能返回return中的一串字符

3、方法前不要加@ResponseBody,加這個(gè)注釋相當(dāng)于@RestController, 返回一串字符串同上

4、如果載application.properties重配置屬性,一定要注意是否書寫有誤,不能多空格否則有可能會報(bào)如下錯(cuò)誤:

至此,springboot集成thymeleaf 就完成了,雖然中間遇到了一些小問題,還好解決了。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Win10 Java jdk14.0.2安裝及環(huán)境變量配置詳細(xì)教程

    Win10 Java jdk14.0.2安裝及環(huán)境變量配置詳細(xì)教程

    這篇文章主要介紹了Win10 Java jdk14.0.2安裝及環(huán)境變量配置,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08
  • Java web項(xiàng)目中的強(qiáng)制登錄功能實(shí)現(xiàn)代碼

    Java web項(xiàng)目中的強(qiáng)制登錄功能實(shí)現(xiàn)代碼

    本文給大家分享Java web項(xiàng)目中的強(qiáng)制登錄功能實(shí)現(xiàn)代碼,為了避免直接進(jìn)入項(xiàng)目中存在的頁面,使用filter過濾器,代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2021-11-11
  • Java中特殊運(yùn)算符及其應(yīng)用詳解

    Java中特殊運(yùn)算符及其應(yīng)用詳解

    當(dāng)涉及位操作和位級運(yùn)算時(shí),Java?提供了一組特殊的運(yùn)算符,即左移(<<)和右移(>>)運(yùn)算符,下面小編就帶大家深入了解一下它們的具體應(yīng)用吧
    2023-08-08
  • Java枚舉(enum) 詳解7種常見的用法

    Java枚舉(enum) 詳解7種常見的用法

    這篇文章主要介紹了Java枚舉(enum) 詳解7種常見的用法,具有一定的參考價(jià)值,有需要的可以了解一下。
    2016-11-11
  • Java 8 開發(fā)的 Mybatis 注解代碼生成工具

    Java 8 開發(fā)的 Mybatis 注解代碼生成工具

    MybatisAnnotationTools 是基于 Java8 開發(fā)的一款可以用于自動化生成 MyBatis 注解類的工具,支持配置數(shù)據(jù)源、類路徑,表名去前綴、指定類名前后綴等功能.這篇文章主要介紹了Java 8 開發(fā)的 Mybatis 注解代碼生成工具 ,需要的朋友可以參考下
    2019-07-07
  • Spring入門基礎(chǔ)之依賴注入

    Spring入門基礎(chǔ)之依賴注入

    Idea中使用@Autowire注解會出現(xiàn)提示黃線,強(qiáng)迫癥患者看著很難受,使用構(gòu)造器注入或者setter方法注入后可解決,下面我們一起來看看
    2022-07-07
  • Java中的DecimalFormat用法解析

    Java中的DecimalFormat用法解析

    這篇文章主要介紹了Java中的DecimalFormat用法解析,DecimalFormat是Java中用于格式化數(shù)字的類,它提供了一種簡單而靈活的方式來格式化數(shù)字,包括指定小數(shù)位數(shù)、千位分隔符、貨幣符號等,需要的朋友可以參考下
    2023-10-10
  • java如何確定一個(gè)鏈表有環(huán)及入口節(jié)點(diǎn)

    java如何確定一個(gè)鏈表有環(huán)及入口節(jié)點(diǎn)

    這篇文章主要介紹了java如何確定一個(gè)鏈表有環(huán)及入口節(jié)點(diǎn),想了解數(shù)據(jù)結(jié)構(gòu)的同學(xué)可以參考下
    2021-04-04
  • java 在file的尾部添加數(shù)據(jù)的兩種方法總結(jié)

    java 在file的尾部添加數(shù)據(jù)的兩種方法總結(jié)

    這篇文章主要介紹了java 在file的尾部添加數(shù)據(jù)的兩種方法總結(jié)的相關(guān)資料,這里提供了兩種在file尾部添加數(shù)據(jù)的方法,希望能幫助到大家,需要的朋友可以參考下
    2017-09-09
  • java利用socket通信實(shí)現(xiàn)Modbus-RTU通信協(xié)議的示例代碼

    java利用socket通信實(shí)現(xiàn)Modbus-RTU通信協(xié)議的示例代碼

    這篇文章主要介紹了java利用socket通信實(shí)現(xiàn)Modbus-RTU通信協(xié)議的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04

最新評論