Adobe ColdFusion 8

cfcase

描述

Cfcase的唯一用途是在cfswitch标签的主体内使用。Cfcase中包含的代码将在cfswitch中指定的表达式满足一个或多个指定的值时执行

类别

流程控制 标签

语法

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

属性

属性

必须/可选

默认

描述

value

必须

 

cfswitch中的表达式需要满足的一个或多个值。指定多个值时,需要用分隔符隔开。这些值必须是简单类型的常量或者常量所组成的表达式,不能是变量。

delimiters

可选

,(逗号)

指定Value是多个值时的分隔符。如果指定了多个分隔符,你可以用其中任意一个来分隔。

用途

cfswitch的expression属性中的表达式的值等于cfcase标签中value指定的值或多个值之一时,将执行cfcase标签主体的代码。cfcase标签主体可以包含HTML代码或者文本,也可以包含CFML标签、函数、变量和表达式。像一些其他语言一样,你不必显式的结束cfcase标签(译者注:但最好还是显示的结束,范例就是这样写的)。

一个cfcase标签可以使表达式与多个值进行匹配,表达式的值等于其中任意一个值,就可以执行标签主题内的语句。将需要匹配的多个值用默认分隔符(逗号)隔开。下面的例子匹配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)来判定等级(A-F)。注意其中有些cfcase标签匹配着多个分值

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