FreeMarker显示数字的时候,比如 ${data.id} 的id为 9183,freemarker会默认显示为 9,183,这样的数据格式传到后台进行整数型格式转换时会转换失败。
解决办法有两种
方法一
在表达式后面加?c ,默认不加会以","分隔
${data.id?c}
方法二
避免在每次用到数值的时候都进行转换,可以在freemarker配置文件里配置,将number_format设置为0或#。
以下是spring-mvc关于freemarker的配置:
<!-- freemarker的配置 -->
<bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
<property name="templateLoaderPath">
<value>/WEB-INF/views/</value>
</property>
<!--设置编码 -->
<property name="defaultEncoding" value="UTF-8" />
<!-- 页面数值的显示格式,避免1000显示成1,000 -->
<property name="freemarkerSettings">
<props>
<prop key="number_format">#</prop>
</props>
</property>
</bean>
网友评论