Springの公式ドキュメントでも紹介されている、Spring Boot + Thymeleafを使ったHello, World
を表示するだけの簡単なWebページを作成してみます。Thymeleafはテンプレートエンジンの1つで、Spring BootでView(画面)を作成するときによく利用されます。
環境
Spring BootでThymeleafを使って簡単なWebページを作成する
まずは、Spring InitializrでSpring Bootの雛形プロジェクトを作成します。「Dependencies」に「Spring Web」と「Thymeleaf」を追加して作成してやればOKです。できあがったbuild.gradle
を載せておきます。
build.gradle
ここからは、実際にWebページを作成していきます。
Controllerクラスを作成する
Webページからのリクエストを受け付けるControllerクラス(GreetingController.java
)を作成します。
GreetingController.java
@GetMapping("/greeting")
は、/greeting
へのGET
リクエストを受け付けることを意味します。@RequestParam
はリクエストパラメータを取得する際に使用します。今回の場合、http://localhost:8080/greeting?name=XXX
のXXX
を取得するために使用します。
Model
はView(画面)に値を渡すためのオブジェクトです。今回は、このオブジェクトにリクエストパラメータを設定します。
戻り値は、Thymeleafのテンプレート名を設定します。例えば上記のようにgreeting
を設定すると、src/main/resources/templates/greeting.html
がViewとして使用されます。
View(画面)を作成する
Thymeleafを使用して画面を作成するときは、テンプレートとなるHTMLを用意し、そこに変数を埋め込むイメージです。
greeting.html
今回は、${name}
にControllerから渡されたリクエストパラメータを埋め込みます。
アプリケーションを実行する
アプリケーションクラスはデフォルトのままでOKです。
DemoApplication.java
最後に、./gradlew bootRun
コマンドを実行し、アプリケーションを実行してみます。
http://localhost:8080/greetingにアクセスすると、以下のようにHello, World!
が表示されます。
http://localhost:8080/greeting?name=Taroにアクセスすると、以下のようにHello, Taro!
が表示されます。リクエストパラメータ(?name=Taro
)の値で表示内容が変わるのがわかるかと思います。
まとめ
Spring Boot + Thymeleafを使ったHello, World
を表示するだけの簡単なWebページを作成してみました。ThymeleafはSpring Bootと親和性が高く、View側との値の受け渡しが簡単に行えるのがいいですね。