title: IDEA開發SpringBoot使用thymeleaf模板時 '$表達式'報紅分析

date: 2019-11-20 15:49:39
categories:

  • Java
  • Thymeleaf

在項目中首次用到了Thymeleaf模板開發 ,但是發現不管怎麼看都沒有錯的代碼 HTML頁面中使用到‘$表達式’卻總是報紅,搜索了一下 發現其實並沒有出錯 但是看着很不舒服 便找了解決方法 解決標紅的地方

問題情境

1:IDEA環境開發
2:使用SpringBoot框架
3:使用Thymeleaf前端框架開發
4:Controller層填充數據到model中 並需要在頁面中動態顯示

1:Controller層
在這裏插入圖片描述
2:entity Page對象
在這裏插入圖片描述
3:html中
在這裏插入圖片描述

所有${ }表達式報紅色波浪線

問題原因

雖然在後端的entity中添加了對象數據信息,但是此時的程序並未開始運行,所以對於前端文件是無法感知到填充對象的。而我們的IDEA默認要對thymeleaf的數據進行驗證,所以這個時候就會有紅色波浪線存在了!
但此時並沒有發生錯誤

解決方法

解決方案一:對每個飄紅的地方進行註解(只有當前行設置生效)

缺點:

  • 每一處都要註解:非常麻煩,HTML文檔會因此顯得非常臃腫,可讀性差
  • 使用的屬性無法解決報紅

在報紅的地方 按alt+enter鍵自動修正即可

在這裏插入圖片描述

但是如果只用到了model中的屬性 此方法並沒有什麼用處

解決方案二:壓制HTML中文件的警告或者錯誤(只有當前文件中設置生效)

需要在< ! DOCTYPE html >下添加一條註釋
suppress ThymeleafVariablesResolveInspection 壓制 Thymeleaf的警告信息

<!-- suppress ThymeleafVariablesResolveInspection -->

在這裏插入圖片描述

或者添加 suppress ALL 壓制所有警告信息

<!--suppress ALL-->

在這裏插入圖片描述

之後本頁所有的報錯都會消失

在這裏插入圖片描述

第三種方案:關閉IDEA對於thymeleaf的數據驗證選項(全局所有文件都會應用設置,飄紅消失)
強迫症福音!

Setting中調整Inspections裏面 選擇Thymeleaf的報紅選項 取消勾選即可
在這裏插入圖片描述

之後項目中所有頁面關於Thymeleaf的報錯都會消失

在這裏插入圖片描述


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