•
To test whether an optional variable exists, use this tag with the
If the variable does not exist, it is created and set to the
exists, processing continues; the value is not changed.
If you specify
variableName
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>
266
Chapter 2: ColdFusion Tags
for the
attribute, the parameter value must be a string
returnType
and
name
default
attribute value. If the variable
default
attributes.