ColdFusion - Getting Started
2019-01-01
- 不能用数字开始
- 不能包含空格
- 不能使用除去下滑线以外的特殊符号
- 大小写不敏感
标记函数和变量的时候需要用到井号 输入两个连续的井号(##)就表示一个单个井号(#)
<cfloop index="parameter name" from="beginning value" to="ending value" step="increment" charset "charset to read in a file">
HTML or CFML code ……
</cfloop>
<cfloop from="1" to="10" step="2" index="i">
<cfoutput>
<li>#i#</li>
</cfoutput>
</cfloop>
<cfbreak>
<cfset test="aaa,bbb,ccc,ddd">
<cfloop list="#test#" index="i">
<cfoutput>
#i#
</cfoutput>
</cfloop>
在 loop 中使用其他列表的时候需要加上对应的井号 #test#
希望输出列表内容的时候直接使用 index
参数就可以了
另一种可以获取到 index 的循环模式:
<cfset list="Partner,Response Date,Response Status" />
<cfloop from="1" to="#listLen(list)#" index="i">
<cfoutput>
listGetAt(list, i)
</cfoutput>
</cfloop>
<cfloop
query = "query name"
startRow = "row number"
endRow = "row number">
</cfloop>
从 cc_TEST 表中搜索前十个数据, 放到 TEST 的 <cfQuery>
之中
几个需要注意的地方:
- 循环里面直接使用对应的列名就可以
- 在
<cfloop query="TEST">
的 query 属性中不需要添加井号 - 在
<cfloop>
内部语句需要使用<cfoutput>
进行转换,<cfoutput>
可以放在外层以减少使用次数
<cfquery name="query" datasource="cc_query" result="result">
SELECT TOP(10) * FROM SITE
</cfquery>
<cfdump var="#query#" />
<cfloop query="query">
<cfoutput>
#query.CurrentRow# #ADMIN#
</cfoutput>
</cfloop>
<cfoutput>
#result.sql#
</cfoutput>
此外还可以直接使用 <cfoutput>
的 Query 属性来输出
同样直接使用对应的列名
<cfoutput query="query">
#ADMIN#
</cfoutput>
<cfset myBooks=StructNew()>
<cfset myVariable=StructInsert(myBooks,"ColdFusion","ColdFusion MX Bible")>
<cfset myVariable=StructInsert(myBooks,"HTML","HTML Visual QuickStart")>
<cfset myVariable=StructInsert(myBooks,"XML","Inside XML")>
<cfloop collection="#myBooks#" item="subject">
<cfoutput>
<b>#subject#:</b> #StructFind(myBooks,subject)#<br />
</cfoutput>
</cfloop>
显示结果:
HTML: HTML Visual QuickStart
ColdFusion: ColdFusion MX Bible
XML: Inside XML
- query
Required Query that controls the loop.
- startRow
- endRow
http://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec22c24-7fae.html
<cfset names=ArrayNew(2)>
<cfset names[1][1]="test">
<cfset names[1][2]="test123">
<cfset names[2][1]="test4343">
<cfset names[2][2]="test1235454">
<cfset names[3][1]="43">
<cfset names[3][2]="123">
ArrayNew()
表示建立一位数组
ArrayNew(X)
表示建立 X 维数组, 随后赋值的数据必须有 X 个 index
<cfset names=ArrayNew(3)>
<cfset names[1][1][1]="test">
<cfset names[1][2][2]="test123">
<cfset names[3][2][5]="43">
<cfset names[4][2][4]="42">
- 使用
<cfdump>
标签可以查看对应的变量的数据
<cfdump var="#names#">
<cfif (#i#+#j# IS 10)>
do sth……
<cfelse>
do sth else……
</cfif>
<cfswitch expression="#Trim(Department)#">
<cfcase value="Sales">
#FirstName# #LastName# is in <b>sales</b>
</cfcase>
<cfcase value="Accounting">
#FirstName# #LastName# is in <b>accounting</b>
</cfcase>
<cfcase value="Administration">
#FirstName# #LastName# is in <b>administration</b>
</cfcase>
<cfdefaultcase>
#FirstName# #LastName# is not in Sales, Accounting, or
Administration.
</cfdefaultcase>
</cfswitch>
switch(fruit) {
case "apple":
WriteOutput("I like Apples");
break;
case "orange":
WriteOutput("I like Oranges");
break;
default:
WriteOutput("I like fruit");
}
- IS/EQ: equal to
- IS NOT/NEQ: not equal to
- GT: greater than, bigger than
- GTE: greater then or equal to
- LT: less than
- LTE: less than or equal to
- AND
- PR
- XOR: 异或, 其一为 true 而不能同时为 true
- EQV: 等价, 两个条件相同时返回 true
- IMP: 蕴含, 第一个条件为 true, 第二个条件为 false 返回 false
- NOT
例如使用单引号
<cfset URL.customGroupSitesExtraSQL = customGroupSitesExtraSQL & "'#SiteID#'"/>
MOD or %
注意余数运算的时候小数部分会被忽略:
11.7 MOD 4 = 3
关于本文
文章标题 | ColdFusion - Getting Started |
发布日期 | 2019-01-01 |
文章分类 | Tech |
相关标签 | #ColdFusion |