2016-10-31 8 views
-1

同じcfswitchケース内で別のcfswitchステートメントを使用できますか?同一のcfswitchケース内で別のcfswitchステートメントを使用できます

<CFSWITCH EXPRESSION="nameOfPg"> 
    <CFCASE VALUE="ClassMenu" > 
    <!---do something---> 
    </CFCASE> 
    <CFCASE VALUE="ReportsMenu"> 
    <CFSWITCH EXPRESSION="#nameOfPg#"> 
     <CFCASE VALUE="StudentMenu"> 
     <!---do something---> 
     </CFCASE> 
     <CFCASE VALUE="DetailsMenu"> 
     <!---do something---> 
     </CFCASE> 
    </CFSWITCH> 
    </CFCASE> 
    <CFDEFAULTCASE> 
    <!---do something---> 
    </CFDEFAULTCASE> 
</CFSWITCH> 
+0

こんにちは、歓迎、StackOverflowへ。ヘルプページ、特に[ここではどのトピックについて聞かせていただけますか?](http://stackoverflow.com/help/on-topic)と[質問しないでください。」](http://stackoverflow.com/help/dont-ask)。さらに重要なことは、[Stack Overflow question checklist](http://meta.stackexchange.com/q/156810/204922)をお読みください。また、[最小、完全、および検証可能な例](http://stackoverflow.com/help/mcve)についても知りたいことがあります。 –

+5

単に試してみませんか?最悪の場合、エラーが発生し、それができないことが伝えられます。 – ale

答えて

0

はい、できます。 EXPRESSION属性は動的(たとえば、nameOfPgのような変数)でもかまいませんが、ハッシュ#に注意してください。

nameOfPg(トップのCFSWITCH)は、変数nameOfPgの実際の値ではなく、文字列を評価します。属性内の変数を解決するには、内側のCFSWITCHのようにハッシュ#を使用する必要があります。#nameOfPg#

はあなたのコード修正:

<CFSWITCH EXPRESSION="#nameOfPg#"> 
    <CFCASE VALUE="ClassMenu" > 
    <!---do something---> 

を、あなたは良いことがあります。

一方、CFCASEでは動的値を使用できません(Java/ColdFusionでスイッチが動作するため)。ここでは静的な値を使用する必要があります。それを覚えておいてください。

+0

うわー、私は今参照してください。私はハッシュを見逃していた。助けてくれてありがとう。 サンプルコード私は同じEXPRESSION(例:#nameOfPg#)を使用しましたが、知りたいのですが、両方のcfswitchesに異なる表現を使用できますか? – kiara

+0

はい、違います。 – Alex

関連する問題