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实现同样的功能更加快
速,也具有更好的可读性。
作者:飞鹰
