親バカエンジニアのナレッジ帳

webのエンジニアをやっており、日頃の開発で詰まったことや書き残しておきたいことを載せています。

NekoHTMLを用いて、Thymeleafの厳しい文法チェックを回避


ti-tomo-knowledge.hatenablog.com

の記事にも書きましたが、Thymeleafは文法チェックが厳しく、通常のHTMLでは問題ないはずの書き方をしてもエラー扱いされてしまいコンパイルが通りません。
特に閉じタグに関してはmetaタグやinputタグなど、普段閉じタグを書かないものは記入を忘れてしまいがちになります。

動作に影響がないのであればそんな厳しい文法チェックは必要ないのにな〜
と思われる人のために、NekoHTMLというHTMLパーサーがありますので使い方を紹介します。
設定はとても簡単です!

まずはpom.xmlに以下を追加してください。

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

私が設定した時の最新が1.9.22だったのでそれを設定していますが、
こちらで最新バーションを確認してください。

次にapplication.yml、または、application.propertiesです。
以下の設定を書き込むだけでOKです!

application.ymlの場合

spring:
  thymeleaf:
    mode=LEGACYHTML5

application.propertiesの場合

spring.thymeleaf.mode=LEGACYHTML5

これであとは普段通りコンパイルすれば、厳しい文法チェックをされずにコンパイルが通るようになります。

簡単ですよね!