テンプレートエンジン

目次

ITにおける「テンプレートエンジン」とは?

「テンプレートエンジン(Template Engine)」とは、あらかじめ用意したテンプレート(ひな形)に、プログラムから取得したデータを組み合わせて、最終的なHTMLなどを生成する仕組みのことです。

簡単にいうと、「決められたHTMLのひな形に、必要なデータを当てはめて画面を作る仕組み」です。

なぜテンプレートエンジンを使うの?

例えば、TODOアプリでデータベースに次のようなTODOが保存されているとします。

  • 買い物をする
  • Javaを勉強する
  • メールを確認する

これらをHTMLに1件ずつ手作業で記述するのではなく、テンプレートエンジンを使うことで、データベースから取得したTODOをHTMLのひな形に埋め込んで表示することができます。

そのため、データの件数や内容が変わっても、同じテンプレートを利用して画面を生成できます。

Thymeleafの場合

JavaのWebアプリケーションでは、Thymeleaf(タイムリーフ)というテンプレートエンジンがよく利用されます。

例えば、次のようなHTMLを用意します。

<p th:text="${todo.content}"></p>

${todo.content}の部分には、Java側から渡されたTODOの内容が入ります。

例えばTODOの内容が「Javaを勉強する」だった場合、ブラウザに表示されるHTMLは、

<p>Javaを勉強する</p>

のようになります。

このように、HTMLのテンプレートとJava側のデータを組み合わせて、画面に表示するHTMLを生成するのがテンプレートエンジンの役割です。

テンプレートエンジンとレンダリングの違い

「テンプレートエンジン」と「レンダリング」は関連していますが、同じ意味ではありません。

テンプレートエンジンは、テンプレートとデータを組み合わせてHTMLなどを生成する仕組みです。

一方、レンダリングは、生成されたHTMLなどをブラウザが処理して、実際の画面として表示することを指します。

例えば、

Java → ThymeleafでHTMLを生成 → ブラウザがレンダリング → 画面に表示

という流れになります。

まとめ

テンプレートエンジンとは、

「HTMLなどのテンプレートにデータを組み合わせて、動的なWebページを生成する仕組み」

です。

代表的なものとして、JavaではThymeleaf、JavaScriptではHandlebarsやEJS、PythonではJinjaなどがあります。

シェアしてもらえると嬉しいです
  • URLをコピーしました!
目次