如果你有这样的代码:
<cfcase value="Test">
/**Do Stuff
</cfcase>
是否可以在案例陈述中引用该值?
我希望连接一个可以处理多个案例的列表,并且能够像这样动态引用变量:
<cfcase value="Test,Another,Yes,No">
<cfif this.value EQ 'Test'> blabla </cfif>
</cfcase>
在我看过的所有地方,我找不到任何详细的信息,只是好奇它是否可能。
答案 0 :(得分:9)
是的,您可以在cfcase
代码中运行多个案例陈述:
<cfswitch expression="#URL.TestValue#">
<cfcase value="Blue,Red,Orange" delimiters=",">
<cfoutput>#URL.TestValue#</cfoutput>
</cfcase>
<cfcase value="Yellow">
<cfoutput>#URL.TestValue#</cfoutput>
</cfcase>
</cfswitch>
答案 1 :(得分:6)
嗯......是的......如果你的<cfswitch>
表达式是#originalExpression#
,那么导致案例触发的值将是...... #originalExpression#
。没有必要对此感到狡猾!
<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>
答案 2 :(得分:2)
我认为使用ColdFusion标签是不可能的。您可以使用<cfscript>
switch (expression) {
case "Test" :
// Do some extra stuff
// No break here
case "Another" : case "Yes" : case "No" :
// Do yet some normal stuff
break;
}
免责声明:我不想要维护此代码