LoginSignup
10
10

More than 5 years have passed since last update.

Spring + Thymeleaf

Last updated at Posted at 2014-05-18

環境
Spring 4.0.4
Thymeleaf 2.1.2

Template Engine

SpringのTutorialを進めていたらViewはThymeleafで実装されていた。
もともとJSPでやるつもりはなかったけど、VelocityとかFreeMarkerよりSpringはThymeleafが好きなのかな?ふむふむ。

Mixer2も気になったけど今回はThymeleafを選択!

Thymeleaf

Thymeleafは基本的にHTMLとして使うことができるのでLogicとViewを分担しやすいテンプレ。
あと個人的な感想ですが書きやすいなーと思います。そしてネーミングセンスがすばらしい!笑

Thymeleaf のインストール

Mavenで自動的に取ってきてもらいます。(最新バージョン2.1.2)

<dependencies>
    <groupId>org.thymeleaf</groupId>
    <artifactId>thymeleaf-spring4</artifactId>
    <version>2.1.2.RELEASE</version>
</dependencies>

Thymeleaf の設定(JSP → Thymeleaf)

Servletの設定ファイルを変更

JSP の設定

<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/views/" />
        <property name="suffix" value=".jsp" />
</bean>

Thymeleaf の設定

<bean id="messageSource"
        class="org.springframework.context.support.ResourceBundleMessageSource" />

<bean id="templateResolver"
        class="org.thymeleaf.templateresolver.ServletContextTemplateResolver">
    <property name="prefix" value="/WEB-INF/views/" />
    <property name="suffix" value=".html" />
    <property name="templateMode" value="HTML5" />
    <property name="characterEncoding" value="UTF-8" />
</bean>

<bean class="org.thymeleaf.spring4.view.ThymeleafViewResolver">
    <property name="templateEngine">
        <bean class="org.thymeleaf.spring4.SpringTemplateEngine">
            <property name="templateResolver" ref="templateResolver" />
        </bean>
    </property>
    <property name="order" value="1" />
    <property name="characterEncoding" value="UTF-8" />
</bean>

idとpropertyは間違えないようにしてください。
あと、TemplateResolverの設定は自分の設定に合わせてください。

これで準備完了!

後はViewをHTMLで作るだけです!

10
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
10