cfwddx

説明

CFML データ連想配列をシリアル化して XML ベースの WDDX 形式にしたり、シリアル化を解除したりします。また、WDDX パケットや CFML データ連想配列の内容に相当する JavaScript オブジェクトのインスタンスを作成するための JavaScript 文を生成することもできます。

カテゴリ

拡張タグ

構文

<cfwddx action = "アクション" 
  input = "入力データ" 
  output = "結果の変数名" 
  topLevelVariable = "JavaScript オブジェクト名"
  useTimeZoneInfo = "Yes" または "No"
  validate = "Yes" または "No" >
 

参照

cfcollectioncfexecutecfgraphcfindexcfobjectcfreportcfsearchcfservletcfservletparamcfdump

属性

属性
説明
action
cfwddx タグを使用して行うアクションを指定します。次のいずれかのアクションを使います。
  • CFML2WDDX CFML をシリアル化して WDDX 形式にします。
  • WDDX2CFML WDDX のシリアル化を解除して CFML 形式にします。
  • CFML2JS CFML をシリアル化して JavaScript 形式にします。
  • WDDX2JS WDDX のシリアル化を解除して JavaScript 形式にします。
input
必須。処理する値です。
output
操作の出力を保持する変数の名前です。この属性は、action
= "WDDX2CFML"
の場合必須です。他のすべてのアクションの場合は、この属性を指定しないと、WDDX 処理の結果が HTML ストリームで出力されます。
topLevelVariable
action = "WDDX2JS" または action = "CFML2JS" の場合は必須です。シリアル化解除プロセスで作成した トップ レベルの JavaScript
オブジェクトの名前です。このプロセスで作成したオブジェクトは、WddxRecordset オブジェクトのインスタンスです。
WddxRecordset オブジェクトについては、WddxRecordset オブジェクトで説明されています。
この属性は、action が WDDX2JS または CFML2JS の場合に限って適用されます。
useTimeZoneInfo
オプション。CFML を WDDX にシリアル化するときに、タイムゾーン情報を出力するかどうかを示します。タイムゾーン情報を考慮に入れる場合は、ISO8601 形式で示されるような時-分オフセットが日時出力で計算されます。タイムゾーン情報を考慮にいれない場合は、現地時間で出力されます。既定値は Yes です。
validate
action 属性が WDDX2CFML または WDDX2JS の場合、validate = "Yes" を設定すると、WDDX DTD (ドキュメント タイプ定義) を使用して、検証用の XML パーサにより WDDX の入力が処理されることを示します。パーサにより、WDDX 入力の処理が問題なく (エラーが発生することなく) 実行されると、パケットのシリアル化は解除されます。入力パケットが正しい形式の WDDX パケットではない場合、エラーが返されます。既定では、入力を検証しない設定になっています (validate="NO")。

使い方

このタグは、ブラウザとの通信に使うデータのパケットをシリアル化したり、シリアル化を解除したりするときに使います。

WDDX の詳細は、ColdFusion アプリケーション開発ガイド を参照してください。

<!--- このスニペットは、cfwddx タグの基本的な使い方を示します。--->
<html>
<head>
  <title>cfwddx タグ</title>
</head>
<body>
<!--- 簡単なクエリを作成します。--->
<cfquery name = 'q' dataSource = 'cfsnippets'>
  select Message_Id, Thread_id, Username from messages
</cfquery>

レコード セット データ :...<P>
<cfoutput query = q>
  #Message_ID# #Thread_ID# #Username#<br>
</cfoutput><P>

<!--- データをシリアル化して WDDX 形式にします。--->
CFML データのシリアル化...<P>
<cfwddx action = 'cfml2wddx' input = #q# output = 'wddxText'>

<!--- WDDX XML パケットを表示します。--->
操作の結果生成された WDDX パケット :
<xmp><cfoutput>#wddxText#</cfoutput></xmp>

<!--- シリアル化を解除して、wddxResult という名前の変数に返します。--->
WDDX パケットのシリアル化解除...<P>
<cfwddx action = 'wddx2cfml' input = #wddxText# output = 'qnew'>

レコード セット データ :...<P>
<cfoutput query = qnew>
  #Message_ID# #Thread_ID# #Username#<br>
</cfoutput><P>
</body>
</html>