hogepiyoエンジニアリング

トラブルシューティングからノウハウ、作ってみた系まで扱う情報系ブログ

SpringでFTL(freemarker)を使うときの設定

STS(Spring Tool Suite)を使ってEclipseでSpring MVCプロジェクトを新規作成すると、初期状態ではテンプレートエンジンとしてJSPを使うように設定されている。
これをFTL(Freemarker Template Language)を使うように変更しようとしたら少しやらないといけないことがあったのでメモ。

やらないといけないことは大きく2つ。

  1. ライブラリの追加
  2. servlet-context.xmlの編集

ライブラリの追加

Mavenプロジェクトならpom.xmlに以下を追加

<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.20</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>${org.springframework-version}</version>
</dependency>

servlet-context.xmlの編集

編集前

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

編集後

<bean id="freemarkerConfig"
	class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
	<property name="templateLoaderPath" value="/WEB-INF/views" />
</bean>

<bean class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
	<property name="prefix" value="" />
	<property name="suffix" value=".ftl" />
</bean>

この状態で WEB-INF/views/配下にftlファイルを置いて呼び出せばftlファイルの内容が表示される。