CFSCRIPT  
説明

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

 
カテゴリ

アプリケーションフレームワークタグ、その他のタグ

 
シンタックス
<cfscript> 
   ここに cfscript のコードを記述します。
</cfscript>
 
関連項目

cfinvoke、cfmodule、CreateObject、『ColdFusion MX 開発ガイド』の第6章の「CFML スクリプト言語を使用した ColdFusion ページの拡張」

 
ヒストリ

ColdFusion MX:

  • コンポーネントメソッドを呼び出す方法が変更されました。このタグで、CreateObject 関数を使用してコンポーネントメソッドを呼び出せるようになりました。
  • 予約語の使い方が変更されました。このタグ内では ColdFusion の予約語は使用できません。
  • try ステートメントと catch ステートメントが追加されました。
 
使用方法

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

CFScript のステートメント、および CFML タグに対応する CFScript のドキュメントを含めて、CFScript スクリプト言語の詳細については、『ColdFusion MX 開発ガイド』の第6章の「CFML スクリプト言語を使用した ColdFusion ページの拡張」 を参照してください。

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

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

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

  • cf
  • cf_
  • _cf
  • coldfusion
  • coldfusion_
  • _coldfusion

elseif コンストラクトを cfscript タグ内で使用することはできません。次のようなコードを使用できます。

else if ( condition )
{
...
}
 
cfscript タグでの例外処理

このタグで例外を処理するには、try および catch ステートメントを使用します。これらは、cftry および cfcatch タグと同じ役割を果たします。各 try ステートメントについて、catch ステートメントが必要です。catch ブロックでは、変数 exceptionVariable に例外タイプが含まれます。この変数は、cfcatch タグのビルトイン変数 cfcatch.Type と同じ役割を果たします。詳細については、『ColdFusion MX 開発ガイド』の第6章の「CFML スクリプト言語を使用した ColdFusion ページの拡張」 を参照してください。

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

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

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

<cfscript>
quote = CreateObject( "component", "nasdaq.quote" ) ;
<!--- 指定された引数を使用した呼び出しです。 --->
res = quote.getLastTradePrice( "macr" ) ;
</cfscript>

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

<cfscript>
   stArgs = structNew();
   stArgs.translationmode = "en_es";
   stArgs.sourceData= "Hello world, friend";
</cfscript>
...
<cfinvoke
   webservice = "http://www.xmethods.net/sd/2001/BabelFishService.wsdl"
   method     = "BabelFish"
   argumentCollection = "#stArgs#"
   returnVariable = "varName"   > 
<cfoutput>#varName#</cfoutput>   

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

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

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

<cfscript>
   ws = CreateObject("webservice", 
            "http://www.xmethods.net/sd/2001/BabelFishService.wsdl");
   xlatstring = ws.BabelFish("en_es", "Hello world, friend");
   writeoutput(xlatstring);
</cfscript>

詳細については、『ColdFusion MX 開発ガイド』の第36章の「Web サービスの使用」 を参照してください。

 
<p>この簡単な例は、変数の宣言と操作を示します。
<cfif IsDefined("form.myValue")>
   <cfif IsNumeric(form.myValue)>
      <cfset x = form.myValue>
      <cfscript>
         y = x;
         z = 2 * y;
         StringVar = form.myString;
      </cfscript>
   <cfoutput>      <p> #x# の 2 倍は #z# です。
      <p>文字列値。<b><I>#StringVar#</i></b>   </cfoutput>
<cfelse>