Tagbangers Blog

Thymeleaf に PullRequest してみた

大した修正ではないので、とても恐縮ですが、Thymeleaf に PullRequest したらマージしてもらったのでその話。

これがその PullRequest
https://github.com/thymeleaf/thymeleaf-spring/pull...

なにを修正したのか?

ThymeleafViewResolver が RedirectView を生成する際に、RedirectView に対して ApplicationContext をセットしてやる、というものです。

なぜに?

Spring の Controller クラスから redirect: によってある URL にリダイレクトさせるとき、レスポンスが出力される前をフックして リダイレクト先URL を書き換えたかったのです。
Thymeleaf と Spring のソースコードを読んでいくとなにやら RequestDataValueProcessor#processUrl() でできそうなことがわかった。
しかし、ThymeleafViewResolver は RedirectView に ApplicationContext をセットしていないために、RequestDataValueProcessor を Bean 登録してても、見つけられない状況で、結果、RequestDataValueProcessor#processUrl() が呼び出されなかったからです。

それで?

でなんだという話ではないのですが、PullRequest の存在でオープンソースへの貢献がより簡単になり、世界中の人とソースコードを通してやりとりするのはやっぱり楽しいですね。
今回マージしてくれた、Themeleaf の Lead Developer の ダニエルさん、ありがとうございました。

Thymeleaf の Contributors として掲載していただきました。なんかうれしいっすね!
http://www.thymeleaf.org/team.html