Tagbangers Blog

IntelliJ IDEA が Thymeleaf をサポート

IntelliJ IDEA 14 が待望の Thymeleaf サポートをやってくれました。

http://blog.jetbrains.com/idea/2014/09/intellij-id...

上記 URL のデモをみると、メソッドの補完から、変数のコントローラクラスとのマッピングなどなかなか期待させる内容です。

早速試してみると、、、
んーまったく補完もできないし、なぜだ。。

IntelliJ 14 の目玉の機能だし、そんなわけはないと調べて見らたら案の定、HTML に DTD とネームスペースの宣言を入れないといけないみたい。

<!DOCTYPE html SYSTEM "http://www.thymeleaf.org/dtd/xhtml1-strict-thymeleaf-4.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">

よし、これで動くはず!が、、

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.thymeleaf.exceptions.TemplateProcessingException: Unsupported entity requested with PUBLICID "null" and SYSTEMID "http://www.thymeleaf.org/dtd/xhtml1-strict-thymeleaf-4.dtd". Make sure a corresponding org.thymeleaf.doctype.resolution.IDocTypeResolutionEntry implementation is provided by you dialect

thymeleaf-spring4 を使っている場合はこっちじゃないといけないみたい。

<!DOCTYPE html SYSTEM "http://www.thymeleaf.org/dtd/xhtml1-strict-thymeleaf-spring4-4.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">

これで Thymeleaf のコード補完もできました。