Tag equivalents in CFScript

With ColdFusion 11, you can use all tags inside cfscript.

The following table lists all the tags that supported script-style syntax in ColdFusion. 

Tag

CFScript equivalent

cfabort

abort

cfbreak

break.

cfcase

case

cfcatch

catch

cfcomponent

component

cfcontinue

continue

cfcookie

Direct assignment of Cookie scope memory-only variables. You cannot use direct assignment to set persistent cookies that are stored on the user system.

cfdefaultcase

default

cfdirectory
Only for <Cfdirectory action=list/>

The directory functions DirectoryCreate, DirectoryDelete, DirectoryList, and DirectoryRename.

cfdump

writedump

cfelse

else

cfelseif

elseif

cfexit

exit

cffile

The file functions FileDelete, FileSeek, FileSkipBytes, and FileWriteLine.

cffinally

finally

cffunction

function

cfimage

The Image functions.

cfif

if

cfimport

import Import in cfscript is only equivalent of <cfimport path="">. 

cfinclude

include

cfinterface

interface

cflocation

location

cflock

lock

cflog

writelog

cfloop

  • Indexed cfloop: for loops
  • Conditional cfloop: while loops and do while loops
  • Structure cfloop: for in loop. (There is no equivalent for queries, lists, or objects.)

cfobject

createobject, new

cfoutput

writeoutput

cfparam

param

cfprocessingdirective

pageencoding

cfproperty

property

cfrethrow

rethrow

cfreturn

return

cfsavecontent

savecontent

cfset

var{{var x =1; }} is equivalent of <cfset var x =1>
Assignment statement x =1; is equivalent of <cfset x =1>
local.x=1; is equivalent of <cfset var x =1>

cfswitch

switch

cfthread

thread

cfthrow

throw

cftrace

trace

cftransaction

transaction

cftry

try

Examples of script-style syntax

The following example loops through a query in CFScript:

... 
<cfscript> 
// Loop through the qGetEmails RecordSet 
for (x = 1; x <= qGetEmails.RecordCount; x=x+1) { 
This_id = qGetEmails.Emails_id[x]; 
This_Subject = qGetEmails.Subject[x]; 
This_RecFrom = qGetEmails.RecFrom[x]; 
This_SentTo = qGetEmails.SentTo[x]; 
This_dReceived = qGetEmails.dReceived[x]; 
This_Body = qGetEmails.Body[x]; 
... // More code goes here. 
} 
</cfscript>

The following examples demonstrate the differences in syntax between tag-style and script-style programming.

cflocation example

Tag-style

<cflocation

url = "URL"

addToken = "yes|no"

statusCode = "300|301|302|303|304|305|307">

Script-style

<cfscript>

cflocation(url = "URL",

addToken = "yes|no",

statusCode = "300|301|302|303|304|305|307")

</cfscript>

cfajaxproxy example

Tag-style

<cfajaxproxy

cfc = "CFC name"

jsclassname = "JavaScript proxy class name">

OR

 <cfajaxproxy

bind = "bind expression"

onError = "JavaScript function name"

onSuccess = "JavaScript function name">

Script-style

<cfscript>

 cfajaxproxy(cfc = "CFC name",

jsclassname = "JavaScript proxy class name")

</cfscript> 

OR 

 <cfscript>

cfajaxproxy

(bind = "bind expression",

onError = "JavaScript function name",

onSuccess = "JavaScript function name")

</cfscript>

cfpdf example

The following example shows the differences between tag-style and script-style syntax when there are child tags present.

Tag-style

<cfpdf action="merge" destination=expandPath(’./MyPDFMerged.pdf’) overwrite=true>

<cfpdfparam source=expandPath(’./MyPDF1.pdf’)>

<cfpdfparam source=expandPath(’./MyPDF2.pdf’)>

 </cfpdf>

Script-style

cfpdf(action="merge", destination=expandPath(’./MyPDFMerged.pdf’), overwrite=true) {

  cfpdfparam(source=expandPath(’./MyPDF1.pdf’));

  cfpdfparam(source=expandPath(’./MyPDF2.pdf’));

  };

Reserved words

In addition to the names of ColdFusion functions and words reserved by ColdFusion expressions (such as NOT, AND, IS, and so on), the following words are reserved in CFScript. Do not use these words as variables or identifiers in your scripting code:

break

do

import

var

case

else

in

while

catch

finally

interface

 

try

for

pageencoding

 

continue

function

return

 

default

if

switch

 

 

Script functions

For a list of script functions, see Script Functions added in ColdFusion 9.

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License  Twitter™ and Facebook posts are not covered under the terms of Creative Commons.

Legal Notices   |   Online Privacy Policy