SpringでFTL(freemarker)を使うときの設定
STS(Spring Tool Suite)を使ってEclipseでSpring MVCプロジェクトを新規作成すると、初期状態ではテンプレートエンジンとしてJSPを使うように設定されている。
これをFTL(Freemarker Template Language)を使うように変更しようとしたら少しやらないといけないことがあったのでメモ。
やらないといけないことは大きく2つ。
ライブラリの追加
<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ファイルの内容が表示される。