Used only inside the cfswitch
tag body. Contains code to execute when the expression specified in the cfswitch
tag has one or more specific values.
<cfcase
value = "value or delimited set of values"
delimiters = "delimiter characters">
cfdefaultcase, cfswitch; cfswitch, cfcase, and cfdefaultcase in Elements of CFML in ColdFusion MX Developer's Guide
Attribute | Req/Opt | Default | Description |
---|---|---|---|
value |
Required |
|
The value or values that the |
delimiter |
Optional |
, (comma) |
Specifies the delimiter character or characters that separate multiple values to match. If you specify multiple delimiter characters, you can use any of them to separate the values to be matched. |
The contents of the cfcase
tag body executes only if the expression
attribute of the cfswitch
tag evaluates to a value specified by the value
attribute. The contents of the cfcase
tag body can include HTML and text, and CFML tags, functions, variables, and expressions. You do not have to explicitly break out of the cfcase
tag, as you do in some languages.
One cfcase
tag can match multiple expression
values. To do this, separate the matching values with the delimiter character, which is the comma by default. For example the following line matches "red", "blue", or "green":
<cfcase value="red,blue,green">
You can use the delimiter
attribute to specify one or more delimiters to use in place of the comma. For example, the following line matches "cargo, live", "cargo, liquid", and "cargo, solid":
<cfcase value="cargo, live;cargo, liquid-cargo, solid" delimiters=";-">
The following example displays a grade based on a 1-10 score. Several of the cfcase tags match more than one score. For simplicity, the example sets the score to 7.
<cfset score="7"> <cfswitch expression="#score#"> <cfcase value="10"> <cfset grade="A"> </cfcase> <cfcase value="9;8" delimiters=";"> <cfset grade="B"> </cfcase> <cfcase value="7;6" delimiters=";"> <cfset grade="C"> </cfcase> <cfcase value="5;4;" delimiters=";"> <cfset grade="D"> </cfcase> <cfdefaultcase> <cfset grade="F"> </cfdefaultcase> </cfswitch> <cfoutput> Your grade is #grade# </cfoutput>