Thymeleafでリダイレクト処理を実装

Thymeleafでリダイレクト処理を実装

Thymeleaf自体はサーバーサイドのテンプレートエンジンなので、リダイレクト処理を直接行うことはできません。
ただし、リダイレクトは主にコントローラー側で実装します。
ここではSpringBootを例に、Thymeleafと連携したリダイレクト処理の実装方法を示します。

コントローラーの実装

@Controller
public class SampleController {

  @GetMapping("/redirectExample")
  public String redirectExample() {
    // リダイレクト先のURLを指定
    return "redirect:/newPage";
  }

  @GetMapping("/newPage")
  public String newPage(Model model) {
    // モデルにデータを追加
    model.addAttribute("message", "新しいページにリダイレクトされました。");
    // Thymeleafテンプレートの名前を返す
    return "newPage";
  }
}

Thymeleafテンプレート (newPage.html)

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
  <title>新しいページ</title>
</head>
<body>
  <h1 th:text="${message}"></h1>
</body>
</html>

この例では、/redirectExample というURLにアクセスすると /newPage にリダイレクトされ、newPage.html テンプレートが表示されます。
newPage.html では、message という変数の内容が表示されます。