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

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容