Passing variables to custom tags and UDFs
The following sections describe rules for how data gets passed to custom tags and user-defined
functions that are written in CFML, and to CFX custom tags that are written in Java or C++.
Passing variables to CFML tags and UDFs
When you pass a variable to a CFML custom tag as an attribute, or to a user-defined function as
an argument, the following rules determine whether the custom tag or function receives its own
private copy of the variable or only gets a reference to the calling page's variable:
•
Simple variables and arrays are passed as copies of the data. If your argument is an expression
that contains multiple simple variables, the result of the expression evaluation is copied to the
function or tag.
•
Structures, queries, and
If the tag or function gets a copy of the calling page's data, changes to the variable in the custom
tag or function do not change the value of the variable on the calling page. If the variable is passed
by reference, changes to the variable in the custom tag or function also change the value of the
variable in the calling page.
To pass a variable to a custom tag, you must enclose the variable name in pound signs. To pass a
variable to a function, do not enclose the variable name in pound signs. For example, the
following code calls a user-defined function using three Form variables:
<cfoutput>
TOTAL INTEREST: #TotalInterest(Form.Principal, Form.AnnualPercent,
Form.Months)#<br>
</cfoutput>
The following example calls a custom tag using two variables, MyString and MyArray:
<cf_testTag stringval=#MyString# arrayval=#MyArray#>
Passing variables to CFX tags
You cannot pass arrays, structures, or
CFX tag by using the
data types to strings when passing them to CFX tags; however, the Java Request Interface
getIntAttribute
82
Chapter 3: Using ColdFusion Variables
objects are passed as references to the object.
cfobject
cfobject
attribute when calling the tag. ColdFusion normally converts simple
query
method lets you get a passed integer value.
objects to CFX tags. You can pass a query to a
Need help?
Do you have a question about the COLDFUSION MX 61-DEVELOPING COLDFUSION MX and is the answer not in the manual?
Questions and answers