Spring MVC集成freemarker
问题1,spring mvc 找不到ftl文件
集成中遇到一个问题,就是一直找不到渲染的ftl文件。后来找到原因是,配置的地方出错。特意标记出来。后面配置的时候需要注意一下。
报错:
java.io.FileNotFoundException: Template love/index.ftl not found.
at freemarker.template.Configuration.getTemplate(Configuration.java:489)
<bean id="viewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
<property name="cache" value="true"/>
<property name="prefix" value=""/>
<property name="suffix" value=".ftl"/>
</bean>
<bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
<property name="templateLoaderPath" value="/WEB-INF/ftl/"/>
</bean>
通常我们在配置渲染的路径时,都会直接在viewResolver中直接配置,prefix,suffix.但是需要注意的在配置freemarker时,还有一个templateLoaderPath值设置问题。
问题2,spring mvc 集成Freemarker乱码问题
Spring MVC中集成Freemarker乱码问题:在网上查了很久,都找到相关的文件。但都只是写了部分配置事项。Spring在集成Freemarker需要在两个地方指定编码集
1.
<bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"> <property name="defaultEncoding" value="UTF-8"/> </bean>
2.
<bean id="viewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver"> <property name="contentType" value="text/html;charset=utf-8"></property> </bean>
都指定为UTF-8,问题解决。