Freemarker-数字默认格式化问题
来源:互联网 发布:服务业知乎 编辑:程序博客网 时间:2024/05/22 09:13
freemarker在解析数据格式的时候,默认将数字按3位来分割
例如1000被格式化为1,000
这样做看似美观,但在实际操作时候会带来问题。例如我一个页面有一个元素,该元素的值由后台绑定且超过1000,那么当我要使用这个元素的值的时候,便会出现问题。
例如,ftl文件中这样写:
<input type="hidden" id="testElement" name="testElement" value="${size}" />
假设后台绑定的size为1000。
然后我在js里使用这个testElement元素的值。
var t = $("#testElement");alert(t);alert(parseInt(t));alert(Number(t));
得到的值是:
1,0001NaN
这下悲剧了,没有一个是我想要的数值类型1000,这让我情何以堪啊。
我之前有一个随笔,基于Struts2、Freemarker的分页组件实现(附工程源码) ,便因为freemarker的数字格式化问题,存在一个bug。
在数据超过1000时候,点击下一页,便会报错。原因是将1,000传到了后台,当作是总记录数,而这个值并非数值。
解决问题
* 在模板中直接加.toString()转化数字为字符串,如:${size.toString()};* 在freemarker配置文件freemarker.properties(在类路径下即可)加<#setting number_format="#">;* 在模板中直接加<#setting number_format="#">;* 通过freemarker.template.Configuration的config.setNumberFormat("#")来设定freemarker对数值的格式化;
其实后三种方法的思路是一致的,只是实现方法不同而已。如果应用中已经存在了 freemarker.properties 并配置了其他的属性,可以在这里配置,否则推荐使用最后一种方法。
最后我是用最后一种方法解决的问题。分页组件上的问题也解决了。
知识只有共享才能传播,才能推崇出新的知识,才能学到更多,这里写的每一篇文字/博客,基本都是从网上查询了一下资料然后记录下来,也有些是原滋原味搬了过来,也有时加了一些自己的想法
阅读全文
0 0
- Freemarker-数字默认格式化问题
- freeMarker 数字格式化问题
- freemarker---数字小数点格式化问题
- freemarker---数字小数点格式化问题
- freemarker数字格式化带来的操作问题
- freemarker设置全局数字格式化问题
- freemarker数字格式化引入的问题
- freemarker解决数字小数点格式化问题
- freemarker 数字格式化处理
- freemarker 数字格式化
- freemarker 数字格式化详解
- freemarker 数字格式化
- freemarker 数字格式化
- freemarker的数字格式化
- freemarker 数字格式化
- Freemarker数字格式化总结
- freemarker模板格式化数字
- freemarker 数字格式化
- 复习:前台页面设计——网页设计的布局、HTML常用的布局结构
- 肾阴虚
- 有序表查询之一:java实现整型数组二分查找
- 深度评测:和市场主流AR SDK对比,亮风台HiAR SDK有这些优势
- quartz使用时遇到的问题Bean property 'xxx' is not writable or has an invalid setter method. Did you mean 'xxx
- Freemarker-数字默认格式化问题
- select2学习
- maven-小白入门学习笔记1
- Android studio 出现java.lang.NoClassDefFoundError错误的一种解决方案 5.0以下机型无法运行应用报错
- 每天进步一点点——五分钟理解一致性哈希算法(consistent hashing)
- 从mysql导入数据到mongodb
- JSP中的include指令、application内置对象、JSP中内置对象的范围
- 并行Zhang细化算法FPA算法
- 六、Git-撤销修改