2014-07-14 16 views
5

Nếu bạn có mã như vậy:Câu lệnh cff ColdFusion và tham chiếu các biến của chúng?

<cfcase value="Test"> 
    /**Do Stuff 
</cfcase> 

Có thể tham khảo giá trị trong trường hợp tuyên bố?

Tôi muốn nối một danh sách có thể xử lý nhiều trường hợp và có khả năng tự động tham chiếu đến các biến như sau:

<cfcase value="Test,Another,Yes,No"> 
    <cfif this.value EQ 'Test'> blabla </cfif> 
</cfcase> 

tôi không thể tìm thấy bất cứ điều gì mà trình bày chi tiết về vấn đề này cho mọi nơi tôi đã xem xét, chỉ tò mò nếu nó thậm chí có thể.

+0

ví dụ Nice ... bao gồm các ví dụ cfscript dưới đây. Tôi upvoted tất cả chúng. –

Trả lời

9

Có, bạn có thể chạy nhiều trường hợp tuyên bố trong một thẻ 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> 
2

Tôi không nghĩ rằng có thể sử dụng thẻ ColdFusion. Bạn có thể làm điều gì đó tương tự với <cfscript>

switch (expression) { 

    case "Test" : 
     // Do some extra stuff 
     // No break here 

    case "Another" : case "Yes" : case "No" : 
     // Do yet some normal stuff 
     break; 
    } 

Disclaimer: Tôi sẽ không muốn duy trì mã này

6

Vâng ... vâng ... nếu biểu thức <cfswitch> của bạn là #originalExpression#, thì giá trị khiến cho trường hợp kích hoạt sẽ là ... #originalExpression#. Không cần phải khéo léo về nó!

IE: bạn sẽ cần phải làm một cái gì đó như thế này:

<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> 
Các vấn đề liên quan