CFCASE  
説明

cfswitch タグ本文でのみ使用されます。cfswitch タグ内に指定された式が特定の値を取るときに実行されるコードを含みます。

 
カテゴリ

フロー制御タグ

 
シンタックス
<cfcase
   value = "value or delimited set of values"
   delimiters = "delimiter characters">
 
関連項目

cfdefaultcase、cfswitch、『ColdFusion MX 開発ガイド』の第2章の「CFML の要素」 の「cfswitch、cfcase、および cfdefaultcase」

 
使用方法

cfcase タグ本文のコンテンツが実行されるのは、cfswitch タグの expression 属性の評価結果がこのタグの value 属性に指定した値を評価するときだけです。cfcase タグ本文のコンテンツには、HTML およびテキストと、CFML のタグ、関数、変数、および式を含めることができます。一部の言語とは異なり、cfcase タグを明示的に終了させる必要はありません。

1 つの cfcase タグを複数の expression 値に一致させることもできます。そのためには、一致させる値を区切り文字 (デフォルトはカンマ) で区切ります。たとえば、次の行は "red"、"blue"、または "green" に一致させます。

<cfcase value="red,blue,green">

delimiter 属性を使用すれば、カンマの代わりに使う区切り文字を指定することができます。たとえば、次の行は "cargo, live"、"cargo, liquid"、"cargo, solid" に一致させます。

<cfcase value="cargo, live;cargo, liquid-cargo, solid" delimiters=";-">
 

この例では、1 ~ 10 の得点に応じて等級を表示します。複数の cfcase タグは複数の得点に一致します。わかりやすくするため、ここでは得点を 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>
   あなたの等級は #grade# です。
</cfoutput>
VALUE  
  必須
 

cfswitch タグの expression 属性と一致させる必要のある値を指定します。一致させる値を複数指定するときは、個々の値を delimiter 属性の文字で区切ります。指定する値は、単純な定数か、定数式でなければなりません。変数は指定できません。

DELIMITER  
  オプション
 
Default value: ", (カンマ)"

一致させる複数の値を区切るための区切り文字です。複数の区切り文字を指定した場合は、値を区切るときにどの文字を使ってもかまいません。