top
Loading...
為ASP開發者介紹ColdFusion
ColdFusion是一個穩定、可靠的Web應用服務平臺。自從1995年Allaire公司第一次發布ColdFusion以來,它已經成功地證
明了自己優秀的可伸縮性、跨平臺能力,成為Web應用開發領域的主流力量之一。因此,作為Web應用開發者我們至少應該
對ColdFusion有一個基本的了解。

一、腳本基礎
作 者 : 仙人掌工作室

ColdFusion使用的服務器端腳本語言稱為Cold Fusion Markup Language(CFML,ColdFusion標簽語言)。CFML的語
法以HTML標記語法為基礎,這是為了方便那些已經熟悉HTML的開發者學習CFML。雖然了解一些HTML知識有助于理解CFML,
但這并不是必需的。另外應該注意的是,不管CFML這個名字意味著什么,CFML遠遠不止是一種標簽語言——它是一種功能
完備的服務器端腳本語言,其功能的強大和豐富足以與ASP中的VBScript媲美。

下面是一些CFML基本標記的例子:
< !--- CFML 注釋 --- >

< CFIF Trim(UserName) Is "Bob" >
用戶名字是Bob.
< CFELSE >
用戶名字不是Bob.
< /CFIF >

< CFLOOP index="i" from="0" to="10" >
< CFOUTPUT >
計數器的當前值是#i#< BR >
< /CFOUTPUT >
< /CFLOOP >


第一行是CFML注釋。CFML注釋和HTML注釋非常相似,主要區別在于CFML注釋標記要多一個連字號。第二個語句中的
CFIF標記其實是CFML中的If...Then結構,它與VBScript中對應的語句完全相同。第三個語句是循環結構,與VBScript中的
For...Next語句相似。CFLOOP標記也能夠用來構造與VBScript Do...While語句類似的循環。CFLOOP標記內的CFOUTPUT類似
于Response.Write——我們可以用它輸出變量內的文本。注意變量必須以#符號分隔。

可以看到,CFML支持流行的腳本語言中可以找到的所有控制結構。

二、進一步了解腳本
作 者 : 仙人掌工作室


CFML提供了幾個附加的對Web開發者來說非常有用的基本標記。例如下面用到的< CFFORM >標記,它為開發者提供了
高效的表單驗證實現方法。在我的印象里,表單驗證是Web開發中最麻煩的事情之一,CFFORM標記為我們卸去了這付擔子。
驗證操作并不是由CFFORM自己完成,而是由CFFORM包含的其他標記完成,這些標記能夠自動地生成客戶端JavaScript,由
JavaScript來完成表單內容的合法性檢查。

例如CFFORM內的CFINPUT標記。CFINPUT標記支持各種擴展屬性,開發者可以利用這些屬性精確地控制對輸入內容進行
哪種類型的驗證。

例如,開發者可以指定對標記中的內容進行“mm/dd/yyyy” (美國日期)或“dd/mm/yyyy”(歐洲日期)格式驗
證,甚至還可以指定輸入數據必需是一個合法的信用卡號。這一功能特別實用,它能夠剝離輸入內容中的空格和連字號,
然后對其進行復雜的驗證。所有這一切都不需要開發者編寫一行客戶端代碼。
< !--- 幾個簡單的表單例子。ColdFusion會自動生成進行驗證的
客戶端JavaScript代碼。--- >

< !--- 輸入信用卡號碼的表單 --- >
< CFFORM action="creditcard.cfm" method="POST" name="frmMyForm" >
請輸入信用卡號:< BR >
< CFINPUT type="Text" required="YES" validate="creditcard"
< /CFFORM >

< !--- 輸入US日期的表單 --- >
< CFFORM action="USDate.cfm" method="POST" name="frmMyForm" >
請輸入您的生日(mm/dd/yyyy):< br >
< CFINPUT type="Text" required="YES" validate="date"
< /CFFORM >

< !--- 輸入歐洲日期的表單 --- >
< CFFORM action="EuroDate.cfm" method="POST" name="frmMyForm" >
請輸入您的生日(dd/mm/yyyy):< br >
< CFINPUT type="Text" required="YES" validate="eurodate"
< /CFFORM >

CFFORM標記也可作為CFSELECT標記的容器。CFSELECT標記允許開發者直接將選擇列表綁定到數據庫查詢結果上。正如
下面的代碼所示,實現這個功能的代碼非常簡潔緊湊。依我看來,使用CFSELECT標記的實現比ASP實現同樣的功能更加快
速,也具有更好的可讀性。

作者:飛鷹

北斗有巢氏 有巢氏北斗