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を使用しているようです。
ということはSpring Boot 1.3までお預けですね。アプリ側で頑張りましょう。