afnf.net

Spring Boot 1.2.5でThymeleafの@{/}が空文字になる

Spring Boot Thymeleaf 2015/09/05 23:49

現象

Spring Bootアプリをjar packageにした場合、Thymeleafのコンテキストルートを生成するシンタックス @{/} が空文字を返すようになります。または、パスの最後尾が / でなくなってしまいます。

Spring Boot 1.2.5において、ResourceUrlEncodingFilterを使用している場合に発生します。

コンテキストパスの例 @{/}の結果 (1.2.4) @{/}の結果 (1.2.5)
/ / 空文字
/app01 /app01/ /app01

原因

Spring Framework 4.1.7 の不具合です。

https://jira.spring.io/browse/SPR-13241

Thymeleafだけでなくて、Velocityとかでも発生しそうですね。

対処

現在未リリースのSpring Boot 1.2.6も、Spring Framework 4.1.7を使用しているようです。

http://docs.spring.io/spring-boot/docs/1.2.6.BUILD-SNAPSHOT/reference/htmlsingle/#appendix-dependency-versions

ということはSpring Boot 1.3までお預けですね。アプリ側で頑張りましょう。

Spring Boot Thymeleaf 2015/09/05 23:49
comments (0)

blog-java2 engine (build:2016-07-31 15:08 JST)