本章內(nèi)容:
● 通過Flex內(nèi)置的格式化程序格式化原始數(shù)據(jù)
● 格式化程序的類型
● 實(shí)時(shí)格式化與腳本式格式化
● 處理格式化錯(cuò)誤
格式化程序(formatter)是一類對(duì)象,它們可以接收原始數(shù)據(jù)并將原始數(shù)據(jù)轉(zhuǎn)換為可展示的格式。從用法的角度講,格式化程序與驗(yàn)證器可以相提并論,因?yàn)樗鼈兊膶?shí)現(xiàn)機(jī)制比較相似。格式化程序的應(yīng)用模式有下列兩種:
● 實(shí)時(shí)格式化 格式化過程是通過數(shù)據(jù)綁定自動(dòng)完成的。
● 腳本式格式化 在必要時(shí),可以使用ActionScript明確創(chuàng)建格式化程序?qū)嵗?,然后再?duì)應(yīng)地處理數(shù)據(jù)。
最關(guān)鍵是要了解格式化程序的用法非常簡(jiǎn)單。輸入原始數(shù)據(jù),就會(huì)輸出結(jié)構(gòu)清晰、容易認(rèn)讀的格式化數(shù)據(jù)。本章主要討論Flex內(nèi)置格式化程序的使用方法及它們各自的適用范圍。
注意:
格式化程序只適用于原始的、未經(jīng)格式化的數(shù)據(jù)。如果針對(duì)用戶可以編輯的字段使用格式化程序,必須先刪除輸入數(shù)據(jù)中包含的所有格式化代碼。例如,假設(shè)有一個(gè)允許用戶更新電話號(hào)碼的表單,默認(rèn)以某種格式設(shè)置系統(tǒng)中當(dāng)前電話號(hào)碼的值。如果用戶更新了電話號(hào)碼,就要在把電話號(hào)碼再次提交給格式化程序以前刪除所有非數(shù)字字符。否則,格式化程序?qū)?bào)錯(cuò),指出輸入的數(shù)據(jù)并不合適。
格式化程序可以獨(dú)立使用,而且可以解決一定范圍內(nèi)的問題。格式化程序最常用的情形是從服務(wù)器(如數(shù)據(jù)庫(kù))中獲取數(shù)據(jù),并發(fā)送給一個(gè)格式化程序,然后以結(jié)構(gòu)化、易讀的方式表現(xiàn)出來。當(dāng)然,這種應(yīng)用一般通過Internet實(shí)現(xiàn),但本章并不想就連接問題浪費(fèi)大量時(shí)間。為了簡(jiǎn)單起見,我們使用靜態(tài)的XML文件模擬遠(yuǎn)程服務(wù)器中的數(shù)據(jù)。
下面從內(nèi)置格式化程序開始介紹。