User Guide
266 Chapter 2: ColdFusion Tags
• To test whether an optional variable exists, use this tag with the name and default attributes.
If the variable does not exist, it is created and set to the
default attribute value. If the variable
exists, processing continues; the value is not changed.
If you specify
variableName for the returnType attribute, the parameter value must be a string
that is in ColdFusion variable name format; that is, starts with a letter, underscore (_), or Unicode
currency symbol, and contains letters, numbers, underscores, periods, and Unicode currency
symbols, only. ColdFusion does not check whether the parameter value corresponds to an existing
ColdFusion variable.
Tip: To improve performance, avoid using the cfparam tag in ColdFusion functions, including in CFC
methods. Instead, place the cfparam tags in the body of the CFML pages.
Example
<!--- This example shows how to use CFPARAM to define default values for page
variables -------->
<cfparam name = "storeTempVar" default = "my default value">
<cfparam name = "tempVar" default = "my default value">
<!--- check if form.tempVar was passed --->
<cfif IsDefined("form.tempVar") is "True">
<!--- check if form.tempVar is not blank --->
<cfif form.tempVar is not "">
<!--- if not, set tempVar to value of form.tempVar --->
<cfset tempVar = form.tempVar>
</cfif>
</cfif>
<body>
<h3>cfparam Example</h3>
<p>cfparam is used to set default values so thata developer does not have to
check for the existence of a variable using a function like IsDefined.
<p>The default value of our tempVar is
"<cfoutput>#StoreTempVar# </cfoutput>"
<!--- check if tempVar is still the same as StoreTempVar
and that tempVar is not blank --->
<cfif tempVar is not #StoreTempVar#
and tempVar is not "">
<h3>The value of tempVar has changed: the new value is
<cfoutput>#tempVar#</cfoutput></h3>
</cfif>
<p>
<form action = "cfparam.cfm" method = "post">
Type in a new value for tempVar, and hit submit:<br>
<input type = "Text" name = "tempVar">
<input type = "Submit" name = "" value = "submit">
</form>