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 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.