ColdFusion cfcase语句并引用它们的变量?

JTe*_*ter 5 coldfusion coldfusion-8 coldfusion-9 coldfusion-10

如果您有这样的代码:

<cfcase value="Test">
   /**Do Stuff
</cfcase>
Run Code Online (Sandbox Code Playgroud)

是否可以在案例陈述中引用该值?

我想连接一个可以处理多个案例的列表,并能够动态引用变量,如下所示:

<cfcase value="Test,Another,Yes,No">
   <cfif this.value EQ 'Test'> blabla </cfif>
</cfcase>
Run Code Online (Sandbox Code Playgroud)

我找不到任何有关这方面的细节,只是好奇,如果有可能的话.

Dan*_*ort 9

是的,您可以在cfcase标记中运行多个case语句:

<cfswitch expression="#URL.TestValue#">

    <cfcase value="Blue,Red,Orange" delimiters=",">
        <cfoutput>#URL.TestValue#</cfoutput>
    </cfcase>

    <cfcase value="Yellow">
        <cfoutput>#URL.TestValue#</cfoutput>
    </cfcase>

</cfswitch>
Run Code Online (Sandbox Code Playgroud)


Ada*_*ron 6

嗯...是啊...如果你的<cfswitch>表达#originalExpression#,则导致该情况下触发值将是... #originalExpression#.它没有必要变得棘手!

IE:你需要做这样的事情:

<cfswitch expression="#originalExpression#">
    <cfcase value="Test,Another,Yes,No">
        <!--- stuff common to all of Test,Another,Yes,No ---->

        <!--- stuff specific to various cases --->
        <cfif originalExpression EQ "test">
            <!--- do stuff ---->
        <cfelseif listFindNoCase("Yes,No", originalExpression)>
            <!--- do stuff ---->
        <cfelse>
            <!--- do stuff for "another" --->
        </cfif>
    </cfcase>
    <!--- other cases etc --->
</cfswitch>
Run Code Online (Sandbox Code Playgroud)