Thymeleafを使用して現在の年を取得する方法


  1. ビューでの現在の年の表示: Thymeleafでは、ビュー内で式を使用してデータを表示することができます。現在の年を表示するには、次のように式を使用します:
<p>現在の年: <span th:text="${#dates.year(new java.util.Date())}"></span></p>

このコードでは、#dates.yearを使用して現在の年を取得し、th:text属性を使用して表示します。

  1. コントローラからのモデルデータの取得: Thymeleafでは、コントローラからビューにモデルデータを渡すことができます。コントローラで現在の年をモデルに追加し、ビューでそれを表示することができます。例えば、Spring MVCを使用している場合は、次のようにします:

コントローラ:

@GetMapping("/blog")
public String showBlog(Model model) {
    model.addAttribute("currentYear", Calendar.getInstance().get(Calendar.YEAR));
    return "blog";
}

ビュー:

<p>現在の年: <span th:text="${currentYear}"></span></p>

このコードでは、コントローラでcurrentYearという名前の属性を追加し、ビューでそれを表示しています。

  1. カスタムユーティリティクラスの使用: Thymeleafでは、独自のユーティリティクラスを作成し、それをビューで使用することもできます。例えば、次のようなユーティリティメソッドを持つDateUtilsクラスを作成します:
public class DateUtils {
    public static int getCurrentYear() {
        return Calendar.getInstance().get(Calendar.YEAR);
    }
}

ビューでの使用:

<p>現在の年: <span th:text="${T(com.example.DateUtils).getCurrentYear()}"></span></p>

このコードでは、T(...)構文を使用してDateUtilsクラスを指定し、getCurrentYear()メソッドを呼び出しています。