cfcase

Description

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.

Category

Flow-control tags

Syntax

<cfcase 
value = "value or delimited set of values"
delimiters = "delimiter characters">

See also

cfdefaultcase, cfswitch; cfswitch, cfcase, and cfdefaultcase in Elements of CFML in ColdFusion MX Developer's Guide

Attributes

Attribute Req/Opt Default Description

value

Required

 

The value or values that the expression attribute of the cfswitch tag must match. To specify multiple matching values, separate the values with the delimiter character. The value or values must be simple constants or constant expressions, not variables.

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.

Usage

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=";-">

Example

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>

View comments in LiveDocs