1. 概要

このチュートリアルでは、JavaScriptコードを含むThymeleafビューでSpringMVCオブジェクトにアクセスする方法を示します。 この例ではSpring BootとThymeleafテンプレートエンジンを使用しますが、このアイデアは他のテンプレートエンジンでも機能します。

ここでは、JavaScriptコードがエンジンによって生成されたWebページに埋め込まれている、または内部にある場合と、ページの外部にある場合(たとえば、別のJavaScriptファイル)の2つのケースについて説明します。

2. 設定

Thymeleafテンプレートエンジンを使用するSpring BootWebアプリケーションをすでに構成していると仮定します。 それ以外の場合は、次のチュートリアルを開始すると便利です。

さらに、アプリケーションに、index.htmlという名前のテンプレートからビューをレンダリングするエンドポイント/indexに対応するコントローラーがあるとします。 このテンプレートには、script.jsなどの埋め込みまたは外部のJavaScriptコードが含まれている場合があります。

私たちの目標は、埋め込みまたは外部のJavaScript(JS)コードからSpringMVCパラメーターにアクセスできるようにすることです。

3. パラメータにアクセスする

まず、JSコードから使用したいモデル変数を作成する必要があります。

Spring MVCでは、これを行うためのさまざまな方法があります。 ModelAndViewアプローチを使用してみましょう。

@RequestMapping("/index")
public ModelAndView thymeleafView(Map<String, Object> model) {
    model.put("number", 1234);
    model.put("message", "Hello from Spring MVC");
    return new ModelAndView("thymeleaf/index");
}

Spring MVCModel、ModelMap、およびModelViewに関するチュートリアルで、他の可能性を見つけることができます。

4. 埋め込まれたJSコード

埋め込まれたJSコードは、 index.html 内部にあるファイル