CFSWITCH |
|
 |
Description
|
Evaluates a passed expression and passes control to the cfcase tag that matches the expression result. You can, optionally, code a cfdefaultcase tag, which receives control if there is no matching cfcase tag value.
|
|
Category
|
Flow-control tags
|
|
Syntax<cfswitch
expression = "expression">
one or more cfcase tags
zero or one cfdefaultcase tags
</cfswitch>
|
|
See also
|
cfcase, cfdefaultcasealso cfabort, cfloop, cfbreak, cfrethrow, cfexecute, cfexit, cfthrow, cfif, cftry, cflocation
|
|
History
|
ColdFusion MX: Changed cfdefaultcase tag placement requirements: you can put the cfdefaultcase tag at any position within a cfswitch statement; it is not required to be the last item.
|
|
|
Usage
|
This tag requires an end tag. All code within this tag must be within a cfcase or cfdefaultcase tag. Otherwise, ColdFusion throws an error.
|
Use this tag followed by one or more cfcase tags. Optionally, include a cfdefaultcase tag. This tag selects the matching alternative from the cfcase and cfdefaultcase tags, jumps to the matching tag, and executes the code between the cfcase start and end tags.
|
The cfswitch tag provides better performance than a series of cfif/cfelseif tags, and the code is easier to read.
|
|
Example<!--- This example shows the use of cfswitch and cfcase to
exercise a case statement in CFML --->
<cfquery name = "GetEmployees" dataSource = "cfsnippets">
SELECT Emp_ID, FirstName, LastName, EMail, Phone, Department
FROM Employees
</cfquery>
<h3>cfswitch Example</h3>
<!--- By outputting the query and using cfswitch, we classify the
output without using a cfloop construct. --->
<p>Each time the case is fulfilled, the specific information is printed;
if the case is not fulfilled, the default case is output </p>
<cfoutput query="GetEmployees">
<cfswitch expression="#Trim(Department)#">
<cfcase value="Sales">
#FirstName# #LastName# is in <b>sales</b><br><br>
</cfcase>
<cfcase value="Accounting">
#FirstName# #LastName# is in <b>accounting</b><br><br>
</cfcase> <cfcase value="Administration">
#FirstName# #LastName# is in <b>administration</b><br><br>
</cfcase>
<cfdefaultcase>
#FirstName# #LastName# is not in Sales, Accounting, or
Administration.<br><br>
</cfdefaultcase>
</cfswitch>
</cfoutput>
|