Spring: すべての画面で共通に出力する値を設定する


Spring で、 全ての画面に共通に出力する値を設定する方法です。

例えば画面の左上に、 “Production”, “Environment” などの環境名や、 時刻に応じた「おはようございます」「こんにちは」という挨拶を表示することを考えます。 @ModelAttribute を使用して実現します。

サンプルコード

コントローラが必ず継承するべきクラスを作ります。 ここでは BaseController という名前にします。 そして、 @ModelAttribute を設定します。

Kotlin で書いていますが Java でも同じことです。 パッケージ名は省略しています。

そして、他のコントローラは必ずこの BaseController を表示します。 すると、 Thymeleaf では sampleValue という値が使えるようになります。