解决FreeMarker数字输出中的逗号问题

2020-12-16  本文已影响0人  超音速6

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>  

原文作者技术博客:https://www.jianshu.com/u/ac4daaeecdfe

上一篇下一篇

猜你喜欢

热点阅读