[小插曲]spring+freemarker中文乱码了,囧

spring + freemarker 中文乱码了,其实是配置的时候粗心忘了配置viewResolver的编码,只配置了freeMarkerConfigurer的default-coding。

 

配置一下即可:

 

<bean id="freeMarkerConfigurer" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"> <property name="templateLoaderPath" value="/WEB-INF/freemarker/" /> <property name="freemarkerSettings"> <props> <prop key="template_update_delay">0</prop> <prop key="default_encoding">GBK</prop> <prop key="locale">zh_CN</prop> </props> </property> </bean> <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" /> <property name="contentType" value="text/html;charset=UTF-8"></property> </bean>

 

 

最后建议使用spring2.5以后的注解功能,来完成controller的操作,真的很方便!

 

<!-- 对web包中的所有类进行扫描,以完成Bean创建和自动依赖注入的功能 --> <context:component-scan base-package="com.normandy.position.web" /> <!-- 启动Spring MVC的注解功能,完成请求和注解POJO的映射 --> <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />

你可能感兴趣的:(spring,bean,freemarker,Class,encoding,delay)