cfscript

説明

cfscript ステートメントを含んでいるコードブロックを囲みます。

シンタックス

<cfscript>  
    cfscript code here  
</cfscript>

関連項目

cfinvokecfmessageboxCreateObject、『ColdFusion アプリケーションの開発』のExtending ColdFusion Pages with CFML Scripting

履歴

ColdFusion MX:

  • コンポーネントメソッドを呼び出す方法が変更されました。このタグで、CreateObject 関数を使用してコンポーネントメソッドを呼び出せるようになりました。

  • 予約語の使い方が変更されました。このタグ内では ColdFusion の予約語は使用できません。

  • try ステートメントと catch ステートメントが追加されました。

使用方法

CFScript で処理を実行します。このタグでは、ColdFusion 関数、式、および演算子が使用されます。このタグ内で ColdFusion 変数の読み書きを行うことができます。

CFScript ステートメントや CFML タグに相当する CFScript などに関する CFScript スクリプト言語の詳細については、『ColdFusion アプリケーションの開発』のExtending ColdFusion Pages with CFML Scriptingを参照してください。

cfscript タグを使用して、一連の代入ステートメントを囲むことができます。cfscript を使用しない場合は、cfset ステートメントが必要です。

重要: 例外の Java クラス名を使用して、このタグ内で cftry/cfcatch ブロックをコーディングする場合は、完全修飾クラス名を指定します。

このタグ内では、一部の ColdFusion 予約語を使用できません。このタグ内に、次の文字列のいずれかで始まる名前のユーザー関数を挿入することはできません。

  • cf

  • cf_

  • _cf

  • coldfusion

  • coldfusion_

  • _coldfusion

elseif 構文を cfscript タグ内で使用することはできません。次のようなコードを使用できます。

else if ( condition ) 
{ 
... 
}

キーワード

次の単語はキーワードとして扱われます。

  • import

  • finally

  • component

  • interface

  • pageencoding

cfscript タグでの例外処理

このタグで例外を処理するには、try および catch ステートメントを使用します。これらは、cftry および cfcatch タグと同じ役割を果たします。各 try ステートメントについて、catch ステートメントが必要です。catch ブロックでは、変数 exceptionVariable に例外タイプが含まれます。この変数は、cfcatch タグのビルトイン変数 cfcatch.Type と同じ役割を果たします。詳細については、『ColdFusion アプリケーションの開発』のExtending ColdFusion Pages with CFML Scriptingを参照してください。

cfscript タグを使用した ColdFusion コンポーネントの呼び出し

CFScript では、CreateObject 関数を使用してコンポーネントメソッドを呼び出します。

次の例では、cfscript タグを使用したコンポーネントオブジェクトの呼び出し方法を示します。この例では、指定された引数を使用します。

<cfscript> 
quote = CreateObject( "component", "nasdaq.quote" ) ; 
<!--- Invocation using ordered arguments. ---> 
res = quote.getLastTradePrice( "macr" ) ; 
</cfscript>

次の例では、コンポーネントオブジェクトの呼び出し時に cfscript タグ内で属性コレクションを使用してパラメータを渡す方法を示します。属性コレクションは構造体です。この構造体では、各キーはパラメータ名に対応し、各値は対応するキーに渡されるパラメータの値となります。

<cfscript> 
    stArgs = structNew(); 
    stArgs.zipcode = "55987"; 
</cfscript> 
... 
<cfinvoke 
    webservice = "http://www.xmethods.net/sd/2001/TemperatureService.wsdl" 
    method = "getTemp" 
    argumentCollection = "#stArgs#" 
    returnVariable = "aTemp"    >  
<cfoutput>The temperature at zip code 55987 is #aTemp#</cfoutput>    

この例では、構造体は cfscript ブロックとして作成されますが、この構造体は任意の ColdFusion メソッドを使用して作成できます。

cfscript タグを使用した Web サービスの利用

次の例では、cfscript タグを使用した Web サービスの利用方法を示します。Web サービスに接続するには、CreateObject 関数を使用します。

<cfscript> 
    ws = CreateObject("webservice",  
                    "http://www.xmethods.net/sd/2001/TemperatureService.wsdl"); 
    xlatstring = ws.getTemp("55987"); 
    writeoutput(xlatstring); 
</cfscript>

詳細については、『ColdFusion アプリケーションの開発』のUsing Web Servicesを参照してください。

<p>This simple example shows variable declaration and manipulation. 
<cfif IsDefined("form.myValue")> 
    <cfif IsNumeric(form.myValue)> 
        <cfset x = form.myValue> 
        <cfscript> 
            y = x; 
            z = 2 * y; 
            StringVar = form.myString; 
        </cfscript> 
    <cfoutput>        <p>twice #x# is #z#. 
        <p>Your string value was: <b><I>#StringVar#</i></b>    </cfoutput> 
<cfelse>