Examples of ColdFusion 9 Script Support

A few weeks ago I posted a simple guide to dealing with features you could not use in ColdFusion 9 script based code. While CF9 went a long way to making the scripting form more powerful, there are still some holes that need patching. One of the things that can be a bit confusing though is figuring out all the new script based forms of tags we’ve used in the past. While not a deep dive, I decided to write up a quick template that ran through all of these new keywords just so I’d have the syntax handy. I hope this helps.

Doing a dump...
<cfscript> writedump(var=server,top=2,label="You betcha"); </cfscript>

Doing an include...
<cfscript> include "foo.cfm"; //a dynamic version... x = "test2.cfm"; include x; </cfscript>

Doing a cflocation...
<cfscript> location(url="test2.cfm",addtoken=false); </cfscript>

cfparam
<cfscript> param name="y" default=1 min=1; writeOutput("y is " & y); </cfscript>

Doing a lock...
<cfscript> lock type="exlcusive" name="somelock" timeout="30" { //stuff } </cfscript>

Doing a log...
<cfscript> writelog(file="application", text="beer time?"); </cfscript>

Doing cfsavecontent...
<cfscript> savecontent variable="buffer" { include "test2.cfm"; } </cfscript>

Exception handling...
<cfscript> try { writeoutput("unknown #variablename#"); } catch(any e) { //if(e.errnumber == 0) rethrow; writedump(var=e); } finally { writeoutput("<p>finally...."); } </cfscript>

Tracing...
<cfscript> trace(category="beer",text="my trace"); </cfscript>

Threading...
<cfscript> thread name="slowthing" priority="low" { sleep(1000); } </cfscript>

transactions...
<cfscript> transaction action="begin" { //query } </cfscript>

Throwing an exception...
<cfscript> throw(message="You smell", detail="No, you REALLY smell"); </cfscript>

Stopping the execution of a request
<cfscript> abort; </cfscript>

I think that covers everything, but if I missed something, let me know.

Shoot - one more just occurred to me. You can set pagencoding for a CFC at the top of the file - but after the component begins, ala:

component car { pageencoding "Cp1252" }

I've yet to use that syntax.

Raymond Camden's Picture

About Raymond Camden

Raymond is a developer advocate. He focuses on JavaScript, serverless and enterprise cat demos. If you like this article, please consider visiting my Amazon Wishlist or donating via PayPal to show your support.

Lafayette, LA https://www.raymondcamden.com

Comments