質問: ### 質問したいこと 情報系の大学生です。 springで使うテンプレートエンジンについての質問です。 現在講義内の演出で、Springフレームワークを使用し、webアプリケーションを作成しようと考えております。 画面周りの技術はjspを使うのが主流だと思うのですが、新しいもので実装してみたいという気持ちから他のテンプレートエンジンを調べています。 調べているとthymeleafやvelocity、freemarkerなど色々出てきましたが、 Springにおいてはthymeleafを推している気がしました。 実際、Spring Bootにおいてもデファクトスタンダードになっているようですし。 ThymeleafがSpringと相性がいいことはわかりましたが、なぜなのかわからないので教えて頂きたく、質問いたしました。 APサーバを立てなくても直接ブラウザでテンプレートのレイアウト確認ができる等の特徴と何か関係があるのでしょうか。 よろしくお願い致します。 ### 調べる上で参考にしたサイト 1. View technologies(Spring)https://docs.spring.io/spring/docs/current/spring-framework-reference/html/view.html 2.Thymeleafを業務で使いたい http://blog.hachiro.info/entry/2013/12/20/022559 3.Tutorial:Thymeleaf + Spring http://www.thymeleaf.org/doc/tutorials/3.0/thymeleafspring.html
回答: まさしくこれです。 > > APサーバを立てなくても直接ブラウザでテンプレートのレイアウト確認ができる > > > フロントWeb(HTML/CSS/JS)のみで動作させるレイアウト確認用HTMLに対して、Thymeleafの機能でJava(Spring)から値を出力する属性を追加しますので、フロントWebとサーバ側とで同じHTMLを共有でき、他のテンプレートエンジンを使う際に必ず行う変換作業(HTMLからJSPやVelocity、FreeMarkerなど)が軽減できます。 特に繰り返し編集していく場合や、何度もメンテナンスするときに、JSPやFreeMarkerから元となるHTMLへの逆変換作業がなくなるので、長期メンテンナスもしやすいのです。 また、ThymeleafはHTMLの属性に対して追加するため、従来のテンプレートエンジンが抱えていた問題の1つでもある、繰り返し出力や条件文によってタグのネストが深くなることもほぼありません。 (これはサイトの作りにも依りますが...)