前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ColdFusion - Getting Started

ColdFusion - Getting Started

作者头像
szhshp
发布2022-09-21 10:04:14
4670
发布2022-09-21 10:04:14
举报
文章被收录于专栏:szhshp 的第四边境中转站

关于变量名称

  1. 不能用数字开始
  2. 不能包含空格
  3. 不能使用除去下滑线以外的特殊符号
  4. 大小写不敏感

特殊: 关于井号#的使用

标记函数和变量的时候需要用到井号 输入两个连续的井号(##)就表示一个单个井号(#)

Loop

Basic Loop

Syntax
代码语言:javascript
复制
<cfloop index="parameter name" from="beginning value" to="ending value" step="increment" charset "charset to read in a file">
  HTML or CFML code ……
</cfloop>
Examples
代码语言:javascript
复制
<cfloop from="1" to="10" step="2" index="i">
  <cfoutput>
    <li>#i#</li>
  </cfoutput>
</cfloop>
break
代码语言:javascript
复制
<cfbreak>

Loop for List

代码语言:javascript
复制
<cfset test="aaa,bbb,ccc,ddd">

  <cfloop list="#test#" index="i">
    <cfoutput>
      #i#
    </cfoutput>
  </cfloop>

在 loop 中使用其他列表的时候需要加上对应的井号 #test# 希望输出列表内容的时候直接使用 index 参数就可以了

另一种可以获取到 index 的循环模式:

代码语言:javascript
复制
<cfset list="Partner,Response Date,Response Status" />
<cfloop from="1" to="#listLen(list)#" index="i">
  <cfoutput>
    listGetAt(list, i)
  </cfoutput>
</cfloop>

Query 循环

Syntax
代码语言:javascript
复制
<cfloop  
    query = "query name" 
    startRow = "row number" 
    endRow = "row number"> 
</cfloop>
Example

从 cc_TEST 表中搜索前十个数据, 放到 TEST 的 <cfQuery> 之中

几个需要注意的地方:

  • 循环里面直接使用对应的列名就可以
  • <cfloop query="TEST"> 的 query 属性中不需要添加井号
  • <cfloop> 内部语句需要使用 <cfoutput> 进行转换, <cfoutput> 可以放在外层以减少使用次数
代码语言:javascript
复制
<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 属性来输出 同样直接使用对应的列名

代码语言:javascript
复制
<cfoutput query="query">
  #ADMIN#
</cfoutput>

Structure 循环

Syntax
代码语言:javascript
复制
<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>

显示结果:

代码语言:javascript
复制
HTML: HTML Visual QuickStart
ColdFusion: ColdFusion MX Bible
XML: Inside XML
Attributes
  • query

Required Query that controls the loop.

  • startRow
  • endRow
API

http://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec22c24-7fae.html

数组与转储

示例

代码语言:javascript
复制
<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

代码语言:javascript
复制
<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> 标签可以查看对应的变量的数据
代码语言:javascript
复制
<cfdump var="#names#">

流程控制

条件判断 cfif

代码语言:javascript
复制
<cfif (#i#+#j# IS 10)>
  do sth……
  <cfelse>
    do sth else……
</cfif>

cfswitch

代码语言:javascript
复制
<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>
代码语言:javascript
复制
switch(fruit) {
    case "apple":
         WriteOutput("I like Apples");
         break;
    case "orange":
         WriteOutput("I like Oranges");
         break;
    default: 
         WriteOutput("I like fruit");
}

CFML 计算操作符

  • 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

CFML 逻辑运算符

  • AND
  • PR
  • XOR: 异或, 其一为 true 而不能同时为 true
  • EQV: 等价, 两个条件相同时返回 true
  • IMP: 蕴含, 第一个条件为 true, 第二个条件为 false 返回 false
  • NOT

字符串

[待补充]特殊符号的使用

例如使用单引号

代码语言:javascript
复制
<cfset URL.customGroupSitesExtraSQL = customGroupSitesExtraSQL & "'#SiteID#'"/>

运算符

求余数

代码语言:javascript
复制
MOD or %

注意余数运算的时候小数部分会被忽略:

代码语言:javascript
复制
11.7 MOD 4 = 3
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-01-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 关于变量名称
    • 特殊: 关于井号#的使用
    • Loop
      • Basic Loop
        • Syntax
        • Examples
        • break
      • Loop for List
        • Query 循环
          • Syntax
          • Example
        • Structure 循环
          • Syntax
          • Attributes
          • API
      • 数组与转储
        • 示例
          • 用法
          • 流程控制
            • 条件判断 cfif
              • cfswitch
                • CFML 计算操作符
                  • CFML 逻辑运算符
                  • 字符串
                    • [待补充]特殊符号的使用
                    • 运算符
                      • 求余数
                      领券
                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档