ALL is Well!
敏捷是一條很長的路,摸索著前進(jìn)著
BlogJava
::
首頁
::
新隨筆
::
聯(lián)系
::
聚合
::
管理
::
30 隨筆 :: 23 文章 :: 71 評(píng)論 :: 0 Trackbacks
<
2010年12月
>
日
一
二
三
四
五
六
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
公告
聲明:
本博客文章如無特別注明,均為原創(chuàng),作者保留所有權(quán)利!歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明出處
BlogJava
。
常用鏈接
我的隨筆
我的文章
我的評(píng)論
我的參與
最新評(píng)論
留言簿
(3)
給我留言
查看公開留言
查看私人留言
隨筆分類
Freemarker(4)
(rss)
J2EE(3)
(rss)
J2SE(3)
(rss)
Java(16)
(rss)
JUnit(2)
(rss)
Linux(1)
(rss)
Maven2(8)
(rss)
MyBatis/iBatis(1)
(rss)
POI(1)
(rss)
Quartz(1)
(rss)
Spring(7)
(rss)
Struts2(3)
(rss)
TDD
(rss)
敏捷開發(fā)
(rss)
隨筆檔案
2011年4月 (2)
2011年3月 (2)
2010年12月 (4)
2010年11月 (3)
2010年10月 (5)
2010年9月 (26)
文章分類
J2EE(1)
(rss)
J2SE(3)
(rss)
JavaScript(1)
(rss)
MyBatis/iBatis
(rss)
POI
(rss)
技術(shù)知識(shí)(6)
(rss)
數(shù)據(jù)庫(1)
(rss)
經(jīng)驗(yàn)點(diǎn)滴(1)
(rss)
隨筆
(rss)
文章檔案
2010年12月 (1)
2010年9月 (10)
交流社區(qū)
CSDN
eoe(Android開發(fā))
JavaEye
友情鏈接
Daniel Teng's blog
Max On Java
我在CSDN的家
胡奇的專欄
學(xué)習(xí)資源庫
Maven -Available Plugins
maven repository
得益網(wǎng)
搜索
最新評(píng)論
1.?re: JUnit單元測試Mock技術(shù)之jMock用法介紹
JMockService是啥?
--pjl
2.?re: 通過Spring實(shí)現(xiàn)對(duì)自定義注解屬性進(jìn)行資源注入
ffhty
--如煩人煩人
3.?re: 詳細(xì)描述 快速排序 的過程 附Java實(shí)現(xiàn)
誤人子弟啊!
--哥哥
4.?re: POI3.6 生成Excel2007 效率低的解決辦法
本來就應(yīng)該這樣寫,而且可以直接在構(gòu)造方法中實(shí)例化這些樣式,然而即使這樣也沒有根本性的解決問題。當(dāng)數(shù)據(jù)量稍微大些,多用戶操作的時(shí)候就不知道怎么死的了。
--老左
5.?re: Java SSH遠(yuǎn)程執(zhí)行Shell腳本實(shí)現(xiàn)
請(qǐng)問如果腳本中的命令為top的話請(qǐng)問該怎么返回執(zhí)行結(jié)果呢?
--tlone
閱讀排行榜
1.?MyEclipse的Maven插件 安裝與配置(17827)
2.?java代碼實(shí)現(xiàn)利用 classloader 動(dòng)態(tài)加載 jar包、文件夾到classpath中(13716)
3.?Java SSH遠(yuǎn)程執(zhí)行Shell腳本實(shí)現(xiàn)(13622)
4.?JUnit4用法詳解(13222)
5.?JUnit單元測試Mock技術(shù)之jMock用法介紹(12095)
評(píng)論排行榜
1.?擴(kuò)展Spring-實(shí)現(xiàn)對(duì)外部引用的屬性文件進(jìn)行加密、解密(8)
2.?Java SSH遠(yuǎn)程執(zhí)行Shell腳本實(shí)現(xiàn)(7)
3.?MyEclipse的Maven插件 安裝與配置(7)
4.?freemarker數(shù)字格式化引入的問題(6)
5.?iBatis/MyBatis 主子表關(guān)聯(lián)查詢(5)
freemarker數(shù)字格式化引入的問題
問題
freemarker在解析數(shù)據(jù)格式的時(shí)候,默認(rèn)將數(shù)字按3位來分割,例如1000被格式化為1,000,這樣做看似美觀,但在實(shí)際操作時(shí)候會(huì)帶來問題。例如我一個(gè)頁面有一個(gè)元素,該元素的值由后臺(tái)綁定且超過1000,那么當(dāng)我要使用這個(gè)元素的值的時(shí)候,便會(huì)出現(xiàn)問題。
例如,我在ftl文件中這樣寫:
<
input
type
="hidden"
id
="testElement"
name
="testElement"
value
="${size}"
/>
假設(shè)后臺(tái)綁定的size為1000。
然后我在js里使用這個(gè)testElement元素的值。
var
t
=
$(
"
#testElement
"
);
alert(t);
alert(parseInt(t));
alert(Number(t));
得到的值是:
1,000
1
NaN
這下悲劇了,沒有一個(gè)是我想要的數(shù)值類型1000,這讓我情何以堪啊。
我之前有一個(gè)隨筆,
基于Struts2、Freemarker的分頁組件實(shí)現(xiàn)(附工程源碼)
,便因?yàn)閒reemarker的數(shù)字格式化問題,存在一個(gè)bug。
在數(shù)據(jù)超過1000時(shí)候,點(diǎn)擊下一頁,便會(huì)報(bào)錯(cuò)。原因是將1,000傳到了后臺(tái),當(dāng)作是總記錄數(shù),而這個(gè)值并非數(shù)值。
解決問題
* 在模板中直接加.toString()轉(zhuǎn)化數(shù)字為字符串,如:${size.toString()};
* 在freemarker配置文件freemarker.properties(在類路徑下即可)加<#setting number_format="#">;
* 在模板中直接加<#setting number_format="#">;
* 通過freemarker.template.Configuration的config.setNumberFormat("#")來設(shè)定freemarker對(duì)數(shù)值的格式化;
其實(shí)后三種方法的思路是一致的,只是實(shí)現(xiàn)方法不同而已。如果應(yīng)用中已經(jīng)存在了
freemarker.properties 并配置了其他的屬性,可以在這里配置,否則推薦使用最后一種方法。
最后我是用最后一種方法解決的問題。分頁組件上的問題也解決了。
posted on 2010-12-29 14:54
李 明
閱讀(5839)
評(píng)論(6)
編輯
收藏
所屬分類:
Freemarker
評(píng)論
#
re: freemarker數(shù)字格式化引入的問題
2010-12-29 19:50
disget
${size?c}就可以完成純數(shù)字輸出
LZ火候欠大了
多看多學(xué)習(xí),別閉門造車
回復(fù)
更多評(píng)論
#
re: freemarker數(shù)字格式化引入的問題
2010-12-30 08:48
禮物
我暈,好好看看文檔再說吧,這不是bug
回復(fù)
更多評(píng)論
#
re: freemarker數(shù)字格式化引入的問題
2010-12-30 13:12
Ronaldo
回復(fù)樓上:
我有一點(diǎn)很奇怪了。
我有說過這是freemarker的bug嗎?
我是說我自己寫的東西,因?yàn)楹雎粤诉@一點(diǎn),存在bug。
由于freemarker這種將數(shù)字超過3位的格式化為形如1,000的,導(dǎo)致了我之前的寫一個(gè)分頁的宏點(diǎn)擊下一頁或上一頁時(shí)都會(huì)報(bào)異常。
麻煩看清楚了再評(píng)論。謝謝。
回復(fù)
更多評(píng)論
#
re: freemarker數(shù)字格式化引入的問題
2010-12-30 13:23
Ronaldo
@disget
解決問題的方式有很多種。你說的方法也確實(shí)可行。
但這個(gè)要在每個(gè)需要的地方都要這樣寫才行。
回復(fù)
更多評(píng)論
#
re: freemarker數(shù)字格式化引入的問題
2012-09-07 14:35
youke
@disget
這是個(gè)辦法但是工作量太大,很是麻煩的。自己水平有限還批評(píng)別人,忒搞笑了吧
回復(fù)
更多評(píng)論
#
re: freemarker數(shù)字格式化引入的問題
2012-09-28 10:09
禮物
@Ronaldo
“我之前有一個(gè)隨筆,基于Struts2、Freemarker的分頁組件實(shí)現(xiàn)(附工程源碼) ,便因?yàn)閒reemarker的數(shù)字格式化問題,存在一個(gè)bug。
在數(shù)據(jù)超過1000時(shí)候,點(diǎn)擊下一頁,便會(huì)報(bào)錯(cuò)。原因是將1,000傳到了后臺(tái),當(dāng)作是總記錄數(shù),而這個(gè)值并非數(shù)值。”
針對(duì)這個(gè)問題freemarker可以使用格式化定義: <#setting number_format="0.####">
回復(fù)
更多評(píng)論
新用戶注冊(cè)
刷新評(píng)論列表
只有注冊(cè)用戶
登錄
后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
相關(guān)文章:
freemarker數(shù)字格式化引入的問題
基于Struts2、Freemarker的分頁組件實(shí)現(xiàn)(附工程源碼)
解決 freemarker 變量沒有值時(shí)拋出異常
基于Struts2和freemarker的異常提示信息的統(tǒng)一處理
Powered by:
BlogJava
Copyright © 李 明
主站蜘蛛池模板:
亚洲黄色网址大全
|
亚洲AV成人精品网站在线播放
|
亚洲av无码久久忘忧草
|
久久这里只精品99re免费
|
国产精品久久免费视频
|
亚洲综合在线一区二区三区
|
激情小说亚洲色图
|
国产精品免费一级在线观看
|
色偷偷亚洲男人天堂
|
国产乱弄免费视频
|
免费无码一区二区
|
久久精品亚洲乱码伦伦中文
|
中出五十路免费视频
|
亚洲AV无码一区二区二三区入口
|
a级毛片毛片免费观看久潮
|
亚洲AV无码乱码国产麻豆穿越
|
男女午夜24式免费视频
|
久久久久亚洲AV无码网站
|
啦啦啦高清视频在线观看免费
|
亚洲无吗在线视频
|
国产男女猛烈无遮挡免费视频网站
|
亚洲一级毛片免费看
|
最近最好的中文字幕2019免费
|
最近中文字幕mv免费高清视频7
|
亚洲欧洲日韩极速播放
|
免费国产高清视频
|
国产免费久久久久久无码
|
亚洲av日韩av无码黑人
|
国内精品免费麻豆网站91麻豆
|
亚洲国产精品成人AV在线
|
亚洲国产精品无码一线岛国
|
亚洲AV成人一区二区三区观看
|
中文字幕无码日韩专区免费
|
久久亚洲中文字幕精品有坂深雪
|
6080午夜一级毛片免费看6080夜福利
|
亚洲成片观看四虎永久
|
男人进去女人爽免费视频国产
|
中文字幕乱码亚洲精品一区
|
亚洲黄片毛片在线观看
|
久久久久久影院久久久久免费精品国产小说
|
色多多www视频在线观看免费
|