SpringBootとThymeleafを使用してHelloWorldしてみた

スポンサーリンク
スポンサーリンク

SpringBootとThymeleafを使用してHelloWorldしてみた

タイトルの通りHelloWorldを出力してみました。

環境は以下の通りです。

  • Windows 10 Home
  • Java11
  • Spring Tool Suite 4.6.2

プロジェクトの作成

「File」→「New」から以下の「Spring Starter Project」を押下する。

ここになかったら「Other」の中の「Spring Boot」の中にあります。

「New Spring Starter Project」のウィンドウが開くので「Name」にプロジェクト名を入れましょう。今回は「HelloWorld」で作成します。まぁ何でもいいです。「Next>」を押下しましょう。

「New Spring Starter Project Dependencies」の画面がでてくるので、今回は「Spring Web」と「Thymeleaf」を選択しましょう。選択したら「Finish」を押下。

作成されたプロジェクト

以下のようにプロジェクトが作成されるはずです。

作成タイミングによっては、バージョンが違って動かないなんでこともあるかもなのでpom.xmlを乗っけときます。

index.htmlとHelloWorld.javaの作成

以下のように「index.html」と「HelloWorld.java」を作成する。

今回「index.html」は、「templates」配下に配置しました。

「HelloWorld.java」は、「com.example.demo」に「controller」パッケージを追加してその配下に配置しました。

「index.html」の内容

1
2
3
4
5
6
7
8
9
10
11
<!DOCTYPE html>
<head>
<meta charset="UTF-8">
<title>HelloWorld</title>
</head>
<body>
    <h1>SpringBoot</h1>
    <p th:text="${message}"></p>
</body>
</html>

抜粋した以下のコード部分がThymeleafの書き方で変数式といいます。

「HelloWorld.java」で設定した変数「message」の値を表示します。

9
<p th:text="${message}"></p>

「HelloWorld.java」の内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
package com.example.demo.controller;
 
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
 
@Controller
public class HelloWorld {
 
    @GetMapping("/")
    public String helloWorld(Model model) {
        model.addAttribute("message","Hello World");
        return "index";
    }
}

9行目のコードでリクエストのハンドリングのためのアノテーションをつけています。

これにより、「http://localhost:8080/」でアクセスすることが可能になります。

9
@GetMapping("/")

コメント

タイトルとURLをコピーしました