Dealing with Nonexistent Parameters
The final thing to consider when passing data between templates is how to check for and handle missing parameters. When dealing with data passed via URL or form field, it is entirely possible that an application template won’t receive a parameter it is expecting. You should build mechanisms into your application templates to account for this possibility. As always, there are a few ways you can go about this.
The first method involves using the
cfparam
tag to assign a default value to any
parameters expected by your application template. That way, if an
expected parameter isn’t passed, a default value is
automatically assigned, and the application can continue processing.
If you remember, the cfparam
tag was covered
earlier in Chapter 2. Additional information on
the cfparam
tag can be found in Appendix A.
The cfparam
tag is
great for assigning a default value if one doesn’t
exist; however, it doesn’t allow you to display an
error message or perform an alternate action if an expected variable
doesn’t exist. The next method uses the
IsDefined( )
function to check for the existence
of a variable before allowing processing of the template to continue.
If the expected variable exists, the template is processed. If not,
an error message is written to the browser. For example, if you have
a template that is expecting a URL parameter named
ArticleID
to be passed in, you can use the following code to output an error message if the parameter isn’t present: ...
Get Programming ColdFusion MX, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.