ColdFusion ではさまざまなビルトインタグが使用でき、カスタムタグも作成できます。
タグのシンタックス
タグは山括弧 (< と >) で囲まれており、0 個以上の属性を指定できます。つまり、開始タグと終了タグの間に、処理するテキストを記述します。たとえば、次のようになります。次の例のように、必要な情報はすべて開始文字 (<) と終了文字 (>) の間に挿入します。メモ : cfset タグは他のタグと異なり、本文も引数も持ちません。このタグは、変数に値を代入するステートメントを囲みます。cfset タグでは、結果変数に値を代入せずに関数を呼び出すこともできます。本文を持つタグでも、すべての情報を本文に記述するとは限りません。特定の情報については属性で指定できる場合があります。タグに本文がない場合は、終了タグを省略して、開始タグの終了文字 (>) の前にスラッシュを置くこともできます。たとえば、次のようになります。たとえば、次のように記述します。この方法は、タグの引数の個数や値が処理結果によって異なる場合に便利です。この場合の例を次に示します。--- 属性変数をダイナミックに設定します。--- 属性の値をダイナミックに変更するコードを記述します。--- 変数を使用して引数の構造体を作成します。--- 使用可能な場合にのみユーザー名とパスワードを含めます。これらのタグを使用すれば、次のようなさまざまな処理が行えます。
インタラクティブフォームの作成
データベースへのアクセスおよび操作
データの表示
ファイルおよびディレクトリの操作
各タグの詳細については、『CFML リファレンス』を参照してください。作成できるカスタムタグには、次の 2 つのタイプがあります。カスタムタグを使用すれば、頻繁に利用するビジネスロジックや表示コードをカプセル化できます。頻繁に利用するコードをカスタムタグとして用意しておけば、さまざまな場所から呼び出せるようになります。また、カスタムタグを使用すると、複雑なロジックを単純な 1 つのインターフェイスにまとめることができます。この方法を使用すれば、開発したコードを簡単に配布できます。タグのロジックにアクセスできないようにタグを暗号化することもできます。html) では、さまざまなカスタムタグを無償または有償で入手できます。たとえば、クライアントのブラウザで Cookie や JavaScript が有効であるかどうかを確認するカスタムタグや、あるリストボックスから別のリストボックスに項目を移動するカスタムタグなどが用意されています。これらのタグの多くは、ソースコードとともに無償で提供されています。CFML でカスタムタグを記述する場合は、ビルトインタグや他のカスタムタグを含む、ColdFusion 言語のすべての機能を利用できます。CFML カスタムタグには本文と終了タグを含めることができます。CFML カスタムタグは、ユーザー定義関数と比べて多くの機能を実現できますが、効率は劣ります。CFML カスタムタグの詳細については、カスタム CFML タグの作成と使用を参照してください。CFX タグでは、ランタイム環境へのアクセスなど、使用する言語に用意されているツールやリソースをすべて利用できます。また、CFX タグはコンパイルされているので、一般に CFML カスタムタグよりも実行速度が速くなります。CFX タグの詳細については、CFXAPI カスタムタグの構築を参照してください。このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。
コメントの追加
作成した CFML コードから Flash バイナリが自動的に生成されて、クライアントに表示されます。Flash フォームはブラウザに依存しません。視覚効果の高い洗練された機能をデフォルトで利用できます。Flash フォームでは、タブナビゲーションや、アコーディオンスタイルのダイアログボックスを使用できます。これによって、複数のページを使用することなく、複数の部分からなる複雑なフォームを開発できます。さまざまなレイアウト処理が自動的に実行されます。これらのタグを使用すれば、Flash 形式の日付選択カレンダー、ツリー、およびグリッドを HTML フォームに埋め込むことができるので、Java アプレットを使用する必要がなくなります。この章では、HTML フォーム内での Flash グリッドおよびツリーの使用方法について特に説明していませんが、この章のグリッドおよびツリーに関する説明は、それらの要素にも適用されます。Flash フォームに用意されているさまざまな機能を使用すれば、使いやすく見た目のよい複合フォームをすばやく作成できます。次の図に、多数の機能を使用した、2 つのタブを持つ Flash フォームを示します。このフォームには次の機能が含まれています。各タブは、フォーム全体を構成する独立したセクションであり、フォームを送信する前に両方のタブでデータを入力できます。この方法を使用すれば、複数の HTML ページにわたって複数のフォームを表示する必要がなくなります。赤色のアスタリスクが付いている姓フィールドおよび名フィールドは必須フィールドです。名前フィールドに入力すると、そのデータが電子メールフィールドに自動的に反映されます。ユーザーはこの情報を上書きできます。ユーザーが日付フィールドを選択すると、日付を選択するためのカレンダーが自動的に開きます。フォームを Flash でレンダリングするためには、次の点に注意する必要があります。Flash フォーム本文内のプレーンテキストおよび HTML タグは無視されます。すべてのフォームコンテンツは、Flash フォームをサポートする CFML タグの中で指定する必要があります。フォームにテキストブロックおよび水平線や垂直線を追加するには、cfformitem タグを使用します。この属性を設定することで、フォームのスタイルや動作を指定することができます。また bind 属性を使用して、フィールドに他のフィールドのデータ値を適用することができます。フォームタグとその機能については、『CFML リファレンス』の各タグのページを参照してください。それらのページでは、Flash フォームで機能する属性や値が示されています。この章では、CFML タグを使用して効果的な Flash フォームを構築する方法について説明します。このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。
コメントの追加
エラーレベルのメッセージをログウィンドウに表示します。
関数のシンタックス
ログウィンドウに表示するテキストメッセージです。出力をフィルタ処理するためにロギングウィンドウで使用するカテゴリ識別子です。この関数では任意のカテゴリを指定できます。この関数は値を返しません。これにより、この関数に必要な JavaScript 定義がページ内に確実に含まれることになります。このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。
コメントの追加
このタグでは、棒グラフ、折れ線グラフ、円グラフなど、 データを表示するチャートのスタイルを定義します。1: 補間の動作が変更されました。タグは、複数の系列を持つ折れ線グラフのデータポイントを補間するようになりました。チャートの表示スタイルを設定します。
query 属性を指定している場合は必須
query 属性に指定されたクエリー内の列の名前です。グラフで表すデータポイントの項目ラベルを指定します。
query 属性を指定している場合は必須
query 属性に指定されたクエリー内の列の名前です。グラフで表すデータ値を指定します。各データポイントの色を設定します。16 進数値またはサポートされる Web カラー名のカンマ区切りリストです。シャープ記号 (#) は 2 つ使用するか、または使用しないでください。系列の項目に色を適用する方法を指定します。2 次元の折れ線グラフ、曲線グラフ、および散布グラフのデータポイントにマーカーとして表示するアイコンを設定します。データ系列のペイント表示スタイルを設定します。shade: 端部が濃くなるグラデーション塗りつぶしです。light: 淡い色のグラデーション塗りつぶしです。チャートの主要な要素 (棒グラフの棒など) の色です。円グラフの場合は、最初の項目の色を示します。16 進数値またはサポートされるカラー名です。シャープ記号 (#) は 2 つ使用するか、または使用しないでください。データ系列のラベルのテキストです。円グラフの場合、円の項目の色は次のように設定されます。seriesColor 属性を指定すると、最初の項目に指定された色が付けられ、順にその後の各項目に自動的に色が付けられます。部門ごとの平均給与を示す棒グラフを作成します。--- 未処理データをデータベースから取得します。--- クエリーオブクエリーを使用して、各部門の統計データを使用する --->--- 新規クエリーを生成します。--- 生成された数値を千の位で四捨五入するよう形式を設定し直します。このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。
コメントの追加
次のいずれか、または両方を行います。現在のページの MIME コンテンツエンコードヘッダを設定します。エンコード情報に文字エンコードが含まれている場合は、生成された出力の文字エンコードを設定します。ファイルのコンテンツまたはバイナリデータを含む変数のコンテンツを、ページ出力として送信します。現在は、ファイルからコンテンツタイプを取得するように試みます。file 属性でファイルを指定する場合にのみ適用されます。yes: ファイルのコンテンツをクライアントに送信した後で、サーバー上のファイルを削除します。no: サーバー上にファイルを残します。ページ出力を提供するコンテンツを含むファイルの名前です。ファイル名は、ドライブ文字とコロン、またはスラッシュや円記号で始まらなければなりません。この属性を使用すると、現在の CFML ページのその他の出力は無視されます。指定したファイルのコンテンツのみがクライアントに送信されます。指定しない場合は次のいずれかになります。この場合は、すべての出力が指定のコンテンツタイプで送信されます。ページの MIME コンテンツタイプです。その後にセミコロンと文字エンコードを続けることもあります。ただし、file 属性が指定されている場合は、ファイルからコンテンツタイプを取得するように試みます。コンテンツタイプにより、ブラウザまたはクライアントがそのページコンテンツをどのように解釈するかが決まります。使用できるコンテンツタイプの値の一部を次に示します。一般的に使用される文字エンコードの値を次に示します。この属性を使用すると、現在の CFML ページのその他の出力は無視されます。指定したファイルのコンテンツのみがクライアントに送信されます。HTML ページなど、生成された出力の文字エンコード (文字セット) を設定するには、次のようなコードを使用します。cfcontent タグを使用すると、レスポンスのデフォルトの文字エンコードよりも優先することができます。cfcontent タグをカスタムタグから呼び出す場合で、現在のページが別のアプリケーションまたはカスタムタグから呼び出されたときに、ページがこのタグによって破棄されないようにするには、reset = "no" に設定します。ファイル削除オペレーションが正常に終了しない場合は、エラーが発生します。このタグをページ内の cfflush タグの後に使用しないでください。次のタグを使用すると、大部分のブラウザでは、cfcontent タグで指定されたファイルのコンテンツを、filename 属性で指定されたファイル名で保存するかどうかをユーザーに尋ねるダイアログボックスが表示されます。ファイルを開くことを選択すると、大部分のブラウザは、ブラウザウィンドウではなく関連付けられたアプリケーションでファイルを開きます。PDF ドキュメントなどの一部のファイルタイプの場合は、実行可能コードを使用せず、大部分のブラウザに直接表示することができます。ブラウザにファイルを直接するようにするには、次のように cfheader タグを使用します。Microsoft Excel ドキュメントなど、実行可能コードが含まれている可能性があるファイルタイプの場合、大部分のブラウザでは、ドキュメントを開く前に確認メッセージが表示されます。これらのファイルタイプの場合、ユーザーがファイルを開くことを選択すると、インラインコンテンツ処理の仕様により、ブラウザに対してファイルを直接表示するようにリクエストされます。文字エンコードの詳細については、次の Web ページを参照してください。html のページには、文字エンコードと Web についての全般的な情報、および役に立つリンクがいくつか掲載されています。3 を使用します。2 を使用します。
インターネット上で使用されるメディアタイプの完全なリストについては、www
ダイナミックに返す方法を示しています。
使用するシステムでの
ColdFusion のインストール方法に応じて、パスやドライブ文字を変更しなければならない場合が
この html ページは相対ファイル名参照を使用しているので、グラフィックは
表示されず、ハイパーリンクも機能しません。この例は、Reset 属性でテキストの出力を変更する方法を示しています。
最初のテキスト部分
("この例は、Reset 属性でテキストの出力を変更する方法を示しています。画面に出力されないことに注意してください。<p>この例は、Reset 属性でテキストの出力を変更する方法を示しています。この例では、Excel ファイルのダウンロードを実行します。ユーザーは、ファイルを保存するかブラウザで開くかを選択するよう要求されます。この例では、Word ドキュメントのダウンロードを実行した後に元のファイルを "temp" ディレクトリから削除します。ユーザーは、ファイルを保存するかブラウザで開くかを選択するよう要求されます。
Excel には実行可能コードが含まれている可能性があるので、ユーザーはファイルを保存するか
ブラウザで開くかを選択するよう要求されます。このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。
コメントの追加
0 のフィードを作成できます。次のいずれか、または両方を指定します。
次を指定します (複数指定可)
実行するアクションです。次のいずれかの値を指定します。
0 フィードの XML ドキュメントを作成して、変数に保存するかファイルに書き出します (両方を行うこともできます)
別の構造体にあるフィードメタデータを取得することもできます。
query 属性で指定されたオブジェクト内の列の名前と ColdFusion フィード形式の列の間のマッピングを指定する構造体です (クエリーオブジェクトのルールを参照)
各フィールドのキーは列の名前にする必要があります (クエリーオブジェクトのルールの表を参照)
フィールドの値は、create アクションへの入力として使用されるクエリーオブジェクト内で対応する列の名前にする必要があります。read アクションにのみ適用されます。読み込み中のフィードで使用可能なエンクロージャを保存するディレクトリのパスです。このパスは、絶対パスで指定しても、CFML ファイルからの相対パスで指定してもかまいません。指定したディレクトリが存在しない場合は、エラーになります。この属性を省略するとエンクロージャは保存されません。
現在のページが存在するディレクトリを指定するには、この属性をピリオド () に設定します。いずれかのエンクロージャをダウンロードするときにエラーが発生しても、他のエンクロージャのダウンロードが続行され、サーバーログにエラー情報が書き込まれます。この属性が no の場合は、エンクロージャのダウンロード中にエラーが発生すると、すべてのエンクロージャのダウンロードが停止されてエラーになります。メモ : 指定されたタイプのエンクロージャをダウンロードすることが Web サーバーで許可されていない場合は、エンクロージャエラーが発生する可能性があります。
「メモ」を参照
完全なフィードデータを含む構造体です。次のデータを含みます。
作成するフィードの入力定義
「メモ」を参照
XML テキストとしてフィードを書き込むファイルのパスです。このパスは、絶対パスで指定しても、CFML ファイルからの相対パスで指定してもかまいません。XML フィードファイルが既に存在する場合に上書きするかどうかを指定します。この属性が yes に設定されていない場合、cffeed タグが既存のファイルにフィードを書き込もうとすると、エラーが発生します。read アクションにのみ適用されます。エンクロージャディレクトリに既存のファイルがある場合に、ファイルを上書きするかどうかを指定します。この属性が yes に設定されていない場合、cffeed タグが既存のファイルにフィードを書き込もうとすると、エラーが発生します。
「メモ」を参照
フィードメタデータ (フィード全体に関する情報) を含む構造体です。次のいずれかを含みます。プロキシサーバーで要求されるパスワードです。プロキシサーバー上で接続するポートです。リクエストの送信先となるプロキシサーバーのホスト名または IP アドレスです。プロキシサーバーに提供するユーザー名です。
「メモ」を参照
フィード内の Atom エントリまたは RSS 項目を含むクエリーオブジェクトです。次のいずれかを含みます。詳細については、クエリーオブジェクトのルール を参照してください。read アクションにのみ適用されます。フィードの URL またはフィードコンテンツを含む XML ファイルのパスです。パスは、絶対パスで指定しても、CFML ファイルからの相対パスで指定してもかまいません。フィードソースからのレスポンスを待機する秒数です。値が 0 の場合は、リクエストがタイムアウトしないことを示します。リクエストクライアントソフトウェアを識別するために使われます。
「メモ」を参照
読み込んだフィードまたは作成したフィードを XML テキストとして保存する変数です。
フィード情報の設定と取得
cffeed タグを使用すると、さまざまな方法でフィードデータを指定し、保存できます。
フィードを作成する場合
次のいずれかの方法でフィードデータを指定します。
name 属性で指定した単一の構造体にすべてのメタデータとエントリまたは項目データを配置する方法
properties 構造体で指定した構造体にメタデータを配置し、query 属性で指定したクエリーオブジェクトにエントリまたは項目を行として配置する方法
次のいずれか、または両方に結果のフィード XML を保存します。
フィードを読み込む場合
次の形式を組み合わせてフィードデータを保存できます。
name 属性で指定した単一の構造体にすべてのエントリまたは項目データとメタデータを保存する方法
query 属性で指定したクエリーオブジェクトにエントリまたは項目を行として保存する方法
フィードデータを保存するとき、メタデータとエントリまたは項目データの両方を保存する必要はありません。特定のメタデータエントリの必要条件の詳細については、フィードメタデータの表現を参照してください。構造体のキー名はすべて、対応するフィード要素名と一致している必要があります。フィードの読み込み時には、フィード内に存在する要素と属性の値のみが構造体に含まれます。create アクションの必要条件については、フィードの作成を参照してください。構造体のエントリの形式は次のとおりです。値は構造体の配列です。配列に含まれる各構造体は 1 つの要素を表します。たとえば、Atom フィードに link 要素が 1 つだけ含まれている場合は、name 属性の構造体で次の形式を使用してその要素を指定する必要があります。0 フィードに link メタデータエントリを指定するには、次のコードを使用します。要素内に複数の属性または少なくとも 1 つの属性と値が含まれる可能性がある場合は、1 つの属性または値しか指定されていない場合でも、その要素は構造体として表現されます。要素内に属性と値 (本文) が含まれる場合は、要素構造体の value フィールドで値が指定されています。cffeed タグを使用してフィードを読み込むと、次の形式で日付がレポートされます。それ以外にも、ColdFusion で使用可能な標準の日時形式をすべて使用できます。
クエリーオブジェクトのルール
query 属性で指定されるクエリーオブジェクトは、次のルールに準拠します。クエリーオブジェクトの形式は複数のフィード形式をサポートしますが、多くの場合、すべてのオプションのフィード属性や要素がフィードに含まれているわけではありません。このため次のようになります。フィードを読み込む場合、返されるクエリーオブジェクトには標準のすべての RSS フィールドと Atom フィールドのエントリが含まれ、フィードタイプでサポートされていないフィールドのエントリも含まれます。そのフィードで使用されていない列には、空の文字列または未定義の値が格納されます。フィードを読み込む場合、そのフィードに iTunes 拡張要素が含まれている場合は、クエリーオブジェクトにすべての iTunes 拡張フィールドが含まれます。それ以外の場合、クエリー結果に拡張フィールドは含まれません。フィードを作成する場合、定義するクエリーに設定する必要があるのは、そのフィードのデータが含まれている列のみです。使用しない列は省略できます。フィードのエントリまたは項目に同じ名前の子要素が複数ある場合は、クエリー列でカンマ区切りリストとして要素値が表現されます。複数のインスタンスが存在する可能性があるエントリまたは項目要素の多くには複数の属性がありますが、すべてのインスタンスですべての属性が必要とされるわけではありません。エントリまたは項目に特定の要素のインスタンスが複数存在し、いずれかのインスタンスで属性が省略されている場合、省略された属性はリスト内でスペースとして表現されます。次の表に、query 属性で指定される標準のクエリーオブジェクトの列を示します。使用しません。整形式の Atom フィードの場合は空白になります。使用しません。
フィードメタデータの表現
同様に、フィードの読み込み時には、受信したすべてのメタデータが構造体で表されます。0 を指定する必要があります。iTunes 拡張機能が含まれるフィードの作成時にこのフィールドを指定する必要はありません。
拡張フィールドを指定していることは自動的に判別されます(Dublin Core 拡張機能が含まれるフィードは作成できません)
これらの数値は、フィードを読み込まない時刻を示します。アプリケーションでこのフィールドを使用すると、いつフィードを読み込むかを指定できます。RSS フィードの場合、skipdays フィールドには曜日名を 7 個まで格納できるカンマ区切りリストが含まれています。これらの値は、フィードを読み込まない曜日を示します。アプリケーションでこのフィールドを使用すると、いつフィードを読み込むかを指定できます。Dublin Core 拡張要素は、フィードまたは項目に関する追加のメタデータを提供します。フィードの項目に Dublin Core 拡張機能が含まれている場合、query 属性で指定したクエリーには、次の表に示されているすべての列が含まれます。フィードに Dublin Core 拡張要素が含まれていない場合、これらの列はクエリーに含まれません。リソースに寄与した人々または組織です。リソースの内容の範囲です。このリソースを作成した個人または組織です。このリソースに関連する日付または日付と時刻です。リソースの内容の要約です。リソースのファイル形式、物理メディア、または次元です。リソースを明確に識別するために使用される文字列です。リソースが記述されている言語です。リソースを使用可能にした個人または組織です。通常は関連リソースの識別子です。リソースの所有権に関する情報です。このリソースの基となった資料への参照です。リソースのトピックを定義する文字列です。リソースに使用する名前です。リソースの種類またはジャンルです。Dublin Core 要素が含まれているフィードのデータを構造体として取得すると、要素名はこの表に示したクエリー列名と同じになります。作成できるのは、iTunes の RSS 拡張機能のサブセットのみが含まれるフィードです。フィードを読み込む場合、サポートされているサブセットに存在しない iTunes 拡張要素はすべて無視されます。
次の表に、サポートされている要素の構造体エントリの名前 (クエリー列名) を示します (これらの名前は、ITUNES_ 接頭辞と iTunes の拡張要素名で構成されます)
また、各要素がメタデータで使用されるか、個々の項目で使用されるか、または両方で使用可能であるかも示します。アーティスト名です。ColdFusion でフィードを読み込む場合は、このフィールドの値が判別され、適切なアクションが実行されます。項目の長さです。項目に露骨な表現が含まれているかどうかを示す文字列です。
短い説明テキスト
通常は数語で指定します。この構造体には次の 2 つのフィールドがあります。これらの要素名には itunes_ 接頭辞が付いていないことに注意してください。Podcast の所有者と連絡を取るための連絡先情報が記載されている構造体です。この構造体には次の 2 つのフィールドがあります。
フィードの作成
0 メタデータフィールドと項目フィールドはすべて省略可能です。
0" に設定する必要があります)
フィードが有効であるかどうかはユーザーが確認する必要があります。ほとんどの場合、データベーステーブルでは、フィードの作成に使用する必要がある列名とは異なる列名が使用されています。したがって、必要な列名に入力クエリー列名をマッピングするには、columnmap 属性を使用する必要があります。この属性は構造体であり、キーは cffeed タグで必要な列名、値は対応する入力クエリー列です。次の例では、cfartgallery データソースの注文テーブルを使用してフィードを作成します。次に、サンプルコードでは、生成されたクエリー XML が表示され、結果が表示されます。--- フィードデータを注文テーブルからクエリーとして取得します。--- 注文の列名をフィードのクエリー列名にマッピングします。--- フィードメタデータを設定します。--- フィードを作成します。
フィードの読み込み
cffeed タグは、読み込んだフィードの妥当性を検証しません。無効なフィードや構造的に正しくないフィードも読み込めますが、無効なコンテンツは一部またはすべて無視されます。たとえば、Atom フィードに複数の rights 要素が含まれている場合 (このフィードは無効です)、cffeed タグは最初の要素のみを読み込んで後の要素を無視しますが、エラーにはなりません。読み込まれるフィードの日付と時刻は、W3C 形式または RFC 822 形式で記述されている必要があります。次の例では、RSS フィードを作成します。2 番目以降の項目は省略可能です。xml ファイルに保存されます。--- ユーザーがデータ入力済みのフォームを送信したときにフィードを生成します --->// フィードデータの構造体を作成してメタデータを追加します。/* フィードの項目を追加します。
より高度なアプリケーションでは、ダイナミック変数を使用して
項目数が変化しても対応できるようにすることができます。--- フィードを生成してファイルと変数に保存します。次に、RSS と Atom を処理する簡単なフィードリーダーアプリケーションの例を示します。このアプリケーションは、項目またはエントリごとにフィードタイトルを表示し、タイトルをリンクとして表示して、発行日と項目またはエントリのコンテンツを表示します。最初のアプリケーションで作成したフィードを読み込むには、最初のアプリケーションで作成したファイルの URL を入力します。たとえば、次のように入力します。--- ユーザーがフォームを送信したときにフィードデータを処理します --->--- フィード出力を表示します。複数のフィード形式を処理するには、条件ロジック for を使用します。このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。
コメントの追加
サーバー上のディレクトリにファイルをコピーします。このタグが実行するファイル操作のタイプです。ファイルのアップロード先となるディレクトリのパス名です。ファイルを選択するときに使用したフォームフィールドの名前です。フィールド名を指定するときにシャープ記号 (#) を使用しないでください。受け入れる MIME タイプを制限します。カンマで区切って指定します。ブラウザは、ファイル拡張子に基づいてファイルタイプを判別します。ファイルに設定する属性をカンマ区切りリストで指定します。この属性を省略した場合、ファイルの属性が保持されます。値はそれぞれ明示的に指定する必要があります。所有者、グループ、および他の利用者それぞれに割り当てられます。644: 所有者に読み取り / 書き込み許可、グループおよび他の利用者に読み取り許可を割り当てます。ファイル名がディレクトリ内のファイルと同じ場合に実行するアクションです。このオプションでは、ファイルプロパティに基づいて、動作をカスタマイズできます。cffile が結果またはステータスのパラメータを返す変数の名前を指定することができます。詳細については、「使用方法」を参照してください。ファイルのアップロードが終了すると、ファイルアップロードのパラメータを使用してステータス情報を取得できます。パラメータを参照するには、cffile 接頭辞を使用するか、result 属性で代替名を指定した場合はその指定した名前を使用します。ステータスパラメータは、他の ColdFusion パラメータを使用できる場所であればどこでも使用できます。result 属性では、複数のページから同時に呼び出される関数または CFC について、一方の呼び出しの結果が他方の呼び出しの結果を上書きしないようにすることができます。新規アプリケーションでは file 接頭辞を使用しないでください。この変数には、ファイルの長さだけでなく、その他のリクエストコンテンツの長さも格納されています。アップロードを終えた後は、次に示すファイルアップロードステータスのパラメータを使用できます。ファイルを保存するために使用された初期名です。クライアントのシステムからアップロードされたファイルのディレクトリ位置です。クライアントのシステムからアップロードされたファイルの名前です。
クライアントシステム上のアップロードされたファイルの拡張子です (ピリオドは含みません)
クライアントシステム上のアップロードされたファイルの名前です (拡張子は含みません)
保存ファイルの MIME コンテンツサブタイプです。保存ファイルの MIME コンテンツタイプです。アップロードされたファイルが最後にアクセスされた日付と時刻です。同じパスを持つファイルが既に存在しているかどうかを yes または no で示します。アップロードされたファイルのサイズです。アップロードされたファイルが他のファイルに追加されたかどうかを yes または no で示します。ファイルが上書きされたかどうかを yes または no で示します。名前の重複を回避するために、アップロードされたファイルの名前が変更されたかどうかを yes または no で示します。ファイルが保存されたかどうかを yes または no で示します。ファイルのアップロード処理によって上書きされたファイルのサイズです。サーバー上に実際に保存されたファイルのディレクトリです。サーバー上に保存されたファイルの名前です。
サーバー上にアップロードされたファイルの拡張子です (ピリオドは含みません)
サーバー上にアップロードされたファイルの名前です (拡張子は含みません)
アップロードされたファイルが作成された時刻です。アップロードされたファイルが最後に修正された日付と時刻です。メモ : ファイルステータスのパラメータは読み取り専用です。これらのパラメータには、最新の cffile オペレーションの結果が設定されます。2 つの cffile タグを実行すると、result 属性で異なる結果変数を指定していない限り、最初の結果は 2 番目の結果によって上書きされます。次の例では、Windows 上でのファイルアップロード時に名前が競合している場合に、固有のファイル名を作成します。--- フォーム変数が存在するかどうかを確認します。このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。
コメントの追加
実行する FTP オペレーションです。site: サイト固有のコマンドを実行します。allo: サーバー上のオペレーション (大きなファイルの配置など) に使用するメモリを割り当てます。acct: アカウント情報を要求するシステムにアカウント情報を送信します。
バッファーサイズです (単位 : バイト)
同じ接続名で cfftp を呼び出すと、同じ接続が再利用されます。ユーザーがログインするためのパスワードです。接続先のリモートポートです。文字列値です。プロキシアクセスを指定した場合に使用するプロキシサーバーの名前です。エラーがレポートされるまでの再試行回数です。yes: 処理が停止し、該当するエラーが表示されます。
個々のデータリクエストオペレーションなど、すべてのオペレーションに関するタイムアウト値です (単位 : 秒)
FTP オペレーションで渡すユーザー名です。同じ connection 名を使用する FTP オペレーションは、キャッシュされた接続に保管されている情報を自動的に使用します。キャッシュされた接続を使用すると、接続時間を節約し、ファイル転送のパフォーマンスを向上させることができます。ただし、この方法を使う場合は、すべての FTP オペレーションで完全な変数名を指定し、終了時に close アクションを使用する必要があります。接続を開いたままにしておくと、他のユーザーが FTP サーバーを使用できません。このため、接続はできるだけ早く閉じるようにしてください。接続名をセッション変数またはアプリケーション変数に割り当てなかった場合は、接続を現在のページのためだけに開いたままになるので、手動で閉じる必要はなくなります。開いている FTP サーバーとの接続がキャッシュされます。
<li>ファイルとディレクトリのオペレーション
<p>この例では、接続を開いて検証し、ディレクトリ内のファイルをリストして、接続を閉じます。<p>接続を開きます。
<p>成功しましたか
<p>ディレクトリ内のファイルをリストします。<p>接続を閉じます。
<p>成功しましたか
このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。
コメントの追加
列を形式設定し、必要に応じてクエリーから列を挿入します。cfgridcolumn 内で使用するフォントと配置に関する属性は、cfgrid 内で定義されているグローバルなフォント設定や配置設定よりも優先されます。セルをクリックすると、セルのボーダー (selectColor の値によってはセルの背景も) の色が変わりますが、セルのデータを編集することはできません。用意された XSLT スキンでは、XML 形式のグリッドは処理または表示されませんが、アプレット形式および Flash 形式のグリッドは表示されます。グリッド列要素の名前です。グリッドでクエリーを使用する場合、この属性は、グリッド列に挿入するクエリー列の名前でなければなりません。グリッド列の背景の色です。yes: グリッドコントロールのテキストをボールドで表示します。列データの配置です。列内のデータのフォントです。列内のテキストのサイズです。列ヘッダのテキストです。列ヘッダのテキストの配置です。yes: ヘッダをボールドで表示します。列ヘッダのフォントです。
列ヘッダのテキストのサイズです (単位 : ピクセル)
yes: 列ヘッダをイタリックで表示します。グリッドコントロールの列ヘッダのテキストの色です。URL、または各グリッド列のハイパーリンク先 URL を含んでいるクエリー列の名前です。列の値の代わりに、各列の href URL に追加される値として使用するクエリー列です。yes: グリッドコントロールのテキストをイタリックで表示します。フォームに表示される文字パターン、またはユーザーが入力して ColdFusion に送信できる文字パターンを制御するマスクパターンです。数値の前に通貨記号が自動的に挿入されます。テキスト値や数値がある列の場合、mask は表示する形式またはユーザーが入力できる形式を、次のように指定します。
= 任意の文字
これら以外のすべての文字 = リテラル文字を挿入
列の値が日付またはタイムスタンプの場合、ColdFusion はこのマスクパターンを使用して、選択された日付を形式設定します。日付時刻のマスク形式の詳細については、mask 属性の日付時刻形式を参照してください。グリッド内で数値データを表示するための形式です。yes:ユーザーは selectmode 属性での指定に応じて、列を選択するか、列内のセルを選択または編集することができます。no: ユーザーは列を選択することも、列内のセルを選択または編集することもできません。href で指定されたリンクを開くためのフレームまたは標準の HTML ターゲットです。列内のグリッド要素のテキストの色です。16 進数の値またはテキスト名で指定します。シャープ記号は、2 つ使用するか、または使用しません。アプレット形式の場合は、次のいずれかを指定します。
16 進数形式の任意の色
すべての形式で次の値を指定することができます。セルが編集可能である場合、ユーザーはチェックマークを変更できます。次の値はアプレット形式と Flash 形式では指定できますが、HTML 形式では機能しません。イメージが列セルよりも大きい場合は、セル内に収まるように切り取られます。次の値はアプレット形式では指定できますが、Flash 形式と HTML 形式では機能しません。image: 列の値では、イメージファイルへのパスを使用する以外に、ColdFusion の次のビルトインイメージ名を使用することもできます。次の値は Flash 形式では指定できますが、アプレット形式と HTML 形式では機能しません。小数点を基準に整列します。この列を使用するグリッドをソートすると、通貨について正しくソートされます。mask 属性を使用して通貨記号を指定します。デフォルト値はドル記号 ($) です。列内のセルをドロップダウンリストボックスの形式にします。ドロップダウンリストの項目を指定します。values 属性内の要素を、ドロップダウンリストで表示する文字列にマッピングします。文字列や数値の範囲を区切り文字で区切って指定します。
列ヘッダの幅
アプレット形式の場合に限り、次の numberFormat 属性のマスク文字を使用して、出力を米国式の数値形式や通貨形式に設定することができます。(アンダースコア) 桁プレースホルダーです。桁プレースホルダーです。(ピリオド) 必須の小数点の位置です。必須の小数点の左または右に置かれ、0 (ゼロ) が埋め込まれます。数値が 0 より小さい場合は、マスクを丸括弧で囲みます。正の数値の前にプラス記号を置き、負の数値の前にマイナス記号を置きます。正の数値の前にスペースを置き、負の数値の前にマイナス記号を置きます。(カンマ) 3 桁ごとにカンマで区切ります。マスク列の幅の中で数値を左揃えまたは中央揃えにします。L または C はマスクの先頭に指定する必要があります。デフォルトは右揃えです。形式設定された数値の先頭にドル記号を置きます。マスクの先頭に指定します。(キャレット) 右側の形式と左側の形式を区切ります。mask 属性を使用すると、日付または時刻を別の形式で表示できます。それらの形式について次の表で説明します。パターン文字の数が 2 の場合、年は 2 桁に切り詰められます。それ以外の場合、4 桁で表示されます。次の例の 3 番目に示すように、指定された桁数になるように 0 が追加されます。形式は、次の条件により決まります。パターン文字の数が 1 つの場合、形式は 1 桁または 2 桁の数値として解釈されます。パターン文字の数が 2 つの場合、形式は 2 桁の数値として解釈されます。パターン文字の数が 3 つの場合、形式は省略したテキストとして解釈されます。パターン文字の数が 4 つの場合、形式は省略されないテキストとして解釈されます。形式は、次の条件により決まります。パターン文字の数が 1 つの場合、形式は 1 桁または 2 桁の数値として解釈されます。パターン文字の数が 2 つの場合、形式は 2 桁の数値として解釈されます。パターン文字の数が 3 つの場合、形式は省略したテキストとして解釈されます。パターン文字の数が 4 つの場合、形式は省略されないテキストとして解釈されます。
その他のテキスト
その他のテキストをパターン文字列に追加して、文字列をさらに設定することができます。句読点や数字、任意の小文字を使用できます。大文字はパターン文字として解釈される場合があるため、大文字は使用しないでください。データベースを更新します。--- データベースにクエリーを実行し、グリッドの埋め込みを行います。--- 更新に必要なプライマリキーを非表示にします。このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。
コメントの追加
タブ付きレイアウトの各タブなど、cflayout タグ本文内の領域を定義します。
ボーダー付きレイアウトの場合
タブ付きレイアウトの場合
source 属性を指定した場合は、すべての子タグが無視されます。子タグを含めない場合は、タグを /> で閉じます。レイアウト領域内の子コントロールをどのように配置するかを指定します。使用できる値は次のとおりです。領域を閉じることが可能かどうかを指定するブール値です。この属性を指定すると、タブまたはタイトルバーに x のアイコンが表示されます。ユーザーはこのアイコンをクリックして領域を閉じることができます。領域を折り畳むことが可能かどうかを指定するブール値です。この属性を指定すると、タイトルバーに >> または << のアイコンが表示されます。ユーザーはこのアイコンをクリックして領域を折り畳むことができます。レイアウト内での領域の位置です。有効な値は次のとおりです。top: レイアウト全体の上部に領域を配置します。bottom: レイアウト全体の下部に領域を配置します。left: レイアウトの左側に領域を配置します。上部と下部に可視の領域がある場合は、その間に配置します。right: レイアウトの右側に領域を配置します。上部と下部に可視の領域がある場合は、その間に配置します。center: 上部、下部、左側、右側の領域に重ならないスペースに領域を配置します。ボーダー付きスタイルのレイアウトでは、各タイプのレイアウト領域を 1 つずつ指定できます。タブを無効にするかどうか (ユーザーがタブを選択してそのコンテンツを表示できるようにするかどうか) を指定するブール値です。無効なタブはグレーで表示されます。初期状態で領域を折り畳むかどうかを指定するブール値です。初期状態で領域を非表示にするかどうかを指定するブール値です。レイアウト領域の名前です。
「説明」を参照
バインド式の評価でエラーが発生した場合に実行する JavaScript 関数の名前です。この関数は 2 つの属性 (HTTP ステータスコードとメッセージ) を取る必要があります。それ以外の場合は、デフォルトのエラーポップアップが表示されます。子コンテンツのサイズが大きいためにコントロールがウィンドウの境界を超えてしまう場合に、子コンテンツをどのように表示するかを指定します。使用できる値は次のとおりです。auto: 必要に応じてスクロールバーを表示します。hidden: 境界からはみ出したコンテンツにアクセスできないようにします。scroll: 必要がない場合でも常に水平および垂直方向のスクロールバーを表示します。visible: レイアウト領域の外側にコンテンツを表示します。Internet Explorer では、レイアウト領域を visible に設定した場合、レイアウト領域を超えてコンテンツを表示するのではなく、コンテンツのサイズに合わせてレイアウト領域が拡張されます。true: バインドイベントの発生時に加え、タブ表示領域が表示される (たとえば、ユーザーがタブを選択する) たびに source バインド式を実行して、タブのコンテンツを更新します。false: バインド式がバインドイベントによって実行された場合のみ、タブ表示領域を更新します。この属性を使用する場合は、source 属性も指定する必要があります。
最初のタブが選択された状態
このタブを最初から選択された状態にして、そのコンテンツをレイアウト内に表示するかどうかを指定するブール値です。
初期サイズをダイナミックに計算
border レイアウトの場合は、ピクセル数を整数で指定する必要があります。中央のサイズは他のレイアウト領域のサイズに基づいて自動的に決定されます。それ以外の場合、AJAX コンポーネントはレイアウト領域のサイズが変更されるまで表示されません。レイアウト領域のコンテンツを返す URL です。この属性では依存関係を持つバインド式を使用できます。レイアウト領域とそれに隣接する layoutarea コントロールの間にスプリッタを配置するかどうかを指定するブール値です。ユーザーは、このスプリッタをドラッグして領域の相対サイズを変更できます。position 属性が left または right に設定されているレイアウト領域でこの属性を true に設定した場合は、スプリッタによってその領域と隣接領域のサイズが水平方向に変更されます。領域の外観を制御する CSS スタイル指定です。
オプション (タブ付きレイアウトの場合は必須)
タブ付きレイアウトの場合は、タブに表示されるテキストです。ボーダー付きレイアウトの場合は、この属性を指定すると、レイアウト領域のタイトルバーが作成され、指定したテキストがタイトルとして使用されます。このルールにより、さまざまなレイアウトを複雑に組み合わせることが可能になります。メモ : tab タイプのレイアウトの中に border タイプのレイアウトを配置することはできません。size 属性の値を指定しなかった場合は、レイアウト領域のコンテンツに必要なサイズが自動的に計算されます。ただし、レイアウト領域に AJAX コントロールが含まれている場合など、必要なサイズを計算できないこともあります。AJAX コントロールが表示されるようにするには、size 属性を指定する必要があります。その場合は、レイアウト領域にスクロールバーが表示されます。レイアウト領域のコンテンツを指定するには、source 属性またはタグ本文を使用します。両方とも指定されている場合は、source 属性で指定されたコンテンツが使用され、タグ本文は無視されます。
source 属性を使用すると、コンテンツの取得中にアニメーションのアイコンと「ロード中
」というテキストが表示されます。JavaScript 関数の定義を含むページを source 属性で指定する場合、そのページの関数定義は次の形式に準拠している必要があります。次のような形式の関数定義は機能しない可能性があります。インポートされるページには、関数定義の形式に関する制約はありません。source 属性を使用する場合は、バインド式を使用してフォームフィールドの値やその他のフォームコントロール属性をソース指定の一部として含めることができます。バインド可能なフォームコントロールは、HTML 形式のフォームコントロールのみです。したがって、いずれかの方向に 2 つのレイアウト領域のみを配置する場合は、一方の領域を中央の領域として指定するか、2 つの領域のサイズを明示的に指定してレイアウト領域全体が完全に埋まるようにする必要があります。レイアウトをネストする場合は、内側のレイアウト領域が必ず表示されるように初期サイズを正しく設定する必要があります。既存のタブ付きレイアウトにタブを作成します。特定のタブを無効にして選択できないようにします。特定のタブを有効にし、ユーザーがそのタブを選択して領域のコンテンツを表示できるようにします。タブを非表示にします。タブを選択して、レイアウト領域のコンテンツを表示します。ボーダー付きレイアウトの領域を折り畳みます。ボーダー付きレイアウトの折り畳まれている領域を展開します。ボーダー付きレイアウトの領域を非表示にします。メモ : style 属性を使用してボーダー付きレイアウト領域の背景色を指定するとき、レイアウト領域全体を背景色で塗りつぶすには、height スタイルを 100% に設定する必要があります。スタイル指定はレイアウト領域そのものではなく、レイアウト領域内のコンテンツ領域に適用されます。そのため、100% を指定するとレイアウト領域全体がコンテンツ領域によって占有されます。次の例では、3 つのタブ付きレイアウトを作成し、ボタンを使用して 2 番目のタブをダイナミックに制御します。レイアウト領域 1 のテキストです。レイアウト領域 2 のテキストです。レイアウト領域 3 のテキストです。このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。
コメントの追加
サーバーデータベースのストアドプロシージャを実行します。このタグを使用すると、データベース接続情報やストアドプロシージャを指定できます。ストアドプロシージャが含まれているデータベースをポイントするデータソースの名前です。データベースサーバー上のストアドプロシージャの名前です。サーバーから一度に取得する行の最大数です。yes: 各ステートメントのデバッグ情報をリストします。データソースセットアップのパスワードよりも優先されます。これを指定すると、これらの変数にアクセスするときに使用する接頭辞として cfstoredproc の代わりにその値が使用されます。詳細については、「使用方法」を参照してください。データソースセットアップのユーザー名よりも優先されます。このタグは、データベースのストアドプロシージャを呼び出すために使用します。ステータスコードの値は DBMS によって異なります。コード値の意味については、DBMS のドキュメントを参照してください。この変数には、ストアドプロシージャの実行時間 (単位 : ミリ秒) が格納されます。result 属性を使用すると、複数のページから同時にストアドプロシージャを呼び出す場合に、一方の結果によって他方の結果が上書きされることを防止できます。このタグは、ストアドプロシージャとその使用方法について十分に理解してから実装してください。次の例では、Sybase ストアドプロシージャを使用しています。
新しいブックを送信する場合は、レコードを挿入して、確認を
このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。
コメントの追加
トランザクション処理をサポートするエンタープライズデータベース管理システムの場合、そのデータベース管理システムに対し、複数のデータベースオペレーションを単一のトランザクションとして処理するように指示します。データベースのコミットおよびロールバック処理を実行できます。使用するデータベース管理システムが SQL トランザクション処理をサポートするかどうかについては、そのシステムのマニュアルを参照してください。begin: 実行するコードのブロックの先頭です。commit: 未処理のトラザクションをコミットします。複数の SQL トランザクションを同時に実行する場合の読み取り方法を指定する分離レベルです。読み取りアクションには、ダーティリード、反復不可能読み取り、ファントムという 3 つの分離レベルがあります。ダーティリードにおいては、最初の SQL トランザクションが COMMIT を実行する前に、次の SQL トランザクションが行を読み取ることができます。反復不可能読み取りにおいては、最初の SQL トランザクションが行を読み取った後に、次の SQL トランザクションがその行を変更または削除して COMMIT を実行します。ファントムにおいては、最初の SQL トランザクションが検索条件に一致する行を読み取り、次の SQL トランザクションが最初のトランザクションの検索条件に一致する行を少なくとも 1 つ生成した後、最初のトランザクションが検索を繰り返すので、異なる結果セットが返されます。ダーティリードは許可されません。ダーティリードと反復不可能読み取りは許可されません。トランザクション内のセーブポイントの名前です。セーブポイントを設定すると、トランザクションの一部をロールバックできます。たとえば、トランザクションに挿入、更新、削除のアクションが含まれていて、更新の後にセーブポイントを設定した場合は、削除を実行する前の状態までトランザクションをロールバックできます。action 属性の値を指定しない場合、自動トランザクション処理は次のように進行します。トランザクションブロック内の cfquery オペレーションがエラーなしで完了した場合、このトランザクションはコミットされます。ただし、CFML エラー処理と action 属性を使用すると、データベースクエリーの成否に基づいて、トランザクションをコミットするかロールバックするかを明示的に制御できます。トランザクションブロック内では、次の操作が可能です。これらの例では、終了タグに代わりにスラッシュを使用しています。1 つのトランザクションブロック内に、複数のデータベースへのクエリーを記述することができます。ただし、別のデータベースへのクエリーを記述する前に、1 つのデータベースへのトランザクションをコミットするか、ロールバックする必要があります。データベースエンジンによるトランザクション中のロックの方法を制御するには、isolation 属性を使用します。複数のクエリーを 1 つのビジネスイベントにグループ化できます。
クエリーによってリクエストされたデータに対する変更は、トランザクションブロック内のすべてのアクションが正常に実行されるまで
データソースにコミットされません。<p>これは表示専用の例です。セーブポイントは、トランザクションの挿入、更新、および削除のアクションが完了した時点で設定できます。その場合は、エラー処理ロジックを使用して、前のセーブポイントにロールバックする必要があるかどうかを判別できます。--- の内容を示しています。--- 口座の残高を取得します。--- 引き出しを行う前にセーブポイントを設定します。--- 口座の残高を取得します。--- 残高がマイナスの場合は、トランザクションをロールバックします。cfc の内容は次のとおりです。このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。
コメントの追加
イベントゲートウェイについて
ColdFusion アプリケーションでイベントゲートウェイを使用すれば、HTTP リクエスト以外の方法で情報を受け取って処理することができます。たとえばイベントゲートウェイを使用して、インスタントメッセージ、モバイルデバイスからのショートメッセージ、TCP/IP ポートに送信されたメッセージなどを処理することができます。イベントゲートウェイのメカニズムの主な特徴は次のとおりです。イベントゲートウェイは非同期で処理を行います。一般に、メッセージを受け取ったゲートウェイは、レスポンスを求めたり待機したりすることなく、処理を実行するためにメッセージを送信します。ColdFusion の開発者は、イベントゲートウェイを作成することで、Java アプリケーションで受信可能な任意のイベントを処理できます。ColdFusion には、製品レベルのイベントゲートウェイがいくつか同梱されています。またアドビ システムズ社では、汎用的なソケットゲートウェイなど、ニーズに応じてカスタマイズできるいくつかのサンプルゲートウェイのソースも提供しています。さらに、Java で独自のゲートウェイを作成して、Java ランタイムやサードパーティプロバイダでサポートされているその他のイベントやメッセージングテクノロジー (たとえば、他のインスタントメッセージングプロトコル、特定の ERP システム、NNTP などのその他のプロトコル) を処理することもできます。
イベントゲートウェイの使用
イベントゲートウェイは、汎用的な非同期メッセージングメカニズムであり、さまざまなイベントやメッセージングリソースを処理できます。イベントゲートウェイは、通信プロトコルを使用した情報の送受信以外にも使用できます。たとえば ColdFusion には、ディレクトリに対する変更を監視し、ディレクトリが変更されると CFC メソッドを呼び出すサンプルイベントゲートウェイが同梱されています。また、CFML アプリケーションが CFC を非同期で呼び出して、CFC からの応答を受けずに処理を続行できるイベントゲートウェイも同梱されています。さまざまなイベントテクノロジーやメッセージングテクノロジー用のイベントゲートウェイを作成できると同時に、こうしたゲートウェイを使用する多数のアプリケーションを作成できます。実現可能なゲートウェイの例を次に示します。
サーバーからクライアントへのプッシュの例
注文書の承認、応答の取得、および注文書に対する承認または却下のマーキングを行う担当者に IM (インスタントメッセージ) または SMS テキストメッセージを送信するアプリケーション
監視リストにある株価が上昇したときに、あらかじめ設定されているメッセージング方法 (携帯電話、インスタントメッセージング、または電子メール) を使用してユーザーに通知し、即座に株の購入または売却を実行できるロボットプログラム
処理を実行するためにブラウザに入力する必要があるコードが記載された SMS メッセージを Web ユーザーに送信することにより、ユーザーを認証するアプリケーション
クライアントからサーバーへの例
ユーザーが複数の Web サービスデータプロバイダから情報を取得できるようにするメニューベースの SMS アプリケーション
ユーザーからのメッセージをテクニカルサポートに渡し、対応可能なサポートスタッフのメンバーに割り当てて送信するインスタントメッセージングアプリケーション
このアプリケーションは、ユーザー ID とセッションも記録できます。したがって、ColdFusion を使用して利用状況レポートを生成することも可能となります。従業員の名前の他に電話番号またはバディ ID を含んだメッセージに応答するディレクトリ検索ロボット IM "バディ"
サーバーからサーバーへの例
ビジネスインテリジェンスシステムで使用するステータス更新を提供する JMS サブシステム
Web サイトからのダウンロードイベントを監視および提供するシステム
イベントゲートウェイの用語と概念
本マニュアルでイベントゲートウェイについて説明するときは、次の用語を使用します。
メッセージ : イベントによって提供される情報
ColdFusion におけるメッセージとは、イベントがトリガされたときにイベントゲートウェイが受け取るデータ構造体のことです。本マニュアルでは、Coldfusion イベントゲートウェイの一般的な概念を表す場合に、イベントゲートウェイという用語を ("タイプ" や "インスタンス" という語句を付けずに) 使用します。文脈から意味が明らかである場合は、イベントゲートウェイタイプやイベントゲートウェイインスタンスのことを、単にイベントゲートウェイと呼ぶこともあります。
イベントゲートウェイタイプ : Java クラスによって表される、イベントゲートウェイの特定の実装
各イベントゲートウェイタイプは、SMS、インスタントメッセージングプロトコル、ソケットなど、特定の通信方法またはプロトコルに属するメッセージを処理します。一般的に、1 つの通信プロトコルにつき 1 つのイベントゲートウェイタイプを設定します。イベントゲートウェイインスタンスを設定するには、[ゲートウェイインスタンス] ページで、イベントゲートウェイタイプ、ID、このインスタンスを使用するイベントゲートウェイアプリケーション CFC へのパス、および設定ファイル (選択したイベントゲートウェイタイプで必要な場合) を指定します。1 つのイベントゲートウェイタイプに対して、複数のイベントゲートウェイインスタンスを設定することができます。たとえば、複数のイベントゲートウェイアプリケーション用に、複数のインスタンスを設定できます。
イベントゲートウェイアプリケーション : イベントゲートウェイインスタンスからのイベントを処理し、イベントゲートウェイインスタンスを使用してメッセージを送信する CFC およびそれをサポートする CFM ページ
イベントゲートウェイアプリケーションは、イベントゲートウェイインスタンスの一部ではなく、インスタンスとの間でやり取りされるイベントメッセージを処理するコードです。
イベントゲートウェイリスナー : イベントソースからイベントを受け取り、CFML のリスナー CFC に提供するために ColdFusion ゲートウェイサービスにそのイベントを渡す、イベントゲートウェイ内のコード
リスナー CFC : イベントゲートウェイインスタンスからのメッセージに応答するためのメソッドが用意されている CFC
イベントゲートウェイアプリケーションの一部です。
イベントゲートウェイアプリケーションの仕組み
次の図に、ColdFusion イベントゲートウェイアプリケーションのアーキテクチャを示します。
イベントゲートウェイの対話の仕組み
Java オブジェクトである ColdFusion イベントゲートウェイインスタンスは、通常、外部プロバイダから送られてくるイベントをリスンします。たとえば、一般的なソケットイベントゲートウェイは、IP ソケットでメッセージをリスンします。また SMS イベントゲートウェイは、SMSC サーバーからのメッセージを受信します。イベントゲートウェイインスタンスは、ColdFusion イベントゲートウェイサービスを介してリスナー CFC と通信します。リスナー CFC は、メッセージを含んだ CFEvent オブジェクトインスタンスを受け取って処理し、イベントゲートウェイに応答を返します。応答を受け取ったイベントゲートウェイは、外部リソースにメッセージを送信します。また、ColdFusion アプリケーションからメッセージを発信することもできます。それには、イベントゲートウェイにメッセージを送信する ColdFusion 関数を呼び出します。メッセージを受け取ったイベントゲートウェイは、外部リソース (インスタントメッセージングサーバーなど) にそれを転送します。アプリケーションの CFC は、送信したメッセージに対する応答をリスンします。一方向のイベントゲートウェイも存在します。こうしたイベントゲートウェイは、特定のイベントをリスンして CFC に送信するか、または ColdFusion 関数からメッセージを取得してそれを発信します。この両方を行うことはできません。また、非同期 CFML イベントゲートウェイは CFML からのメッセージの受信のみを行います。ディレクトリウォッチャゲートウェイのように、イベントのリスンさえ行わないものもあります。このゲートウェイは、定期的にディレクトリの状態を確認することにより、内部で独自のイベントを作成しています。非同期 CFML イベントゲートウェイの詳細については、CFML イベントゲートウェイによる非同期 CFC へのアクセスを参照してください。
イベントゲートウェイの構造
ColdFusion イベントゲートウェイは通常、ソケットや SMSC サーバーなどのイベントプロバイダからのイベントをリスンする 1 つまたは複数のスレッドで構成されます。イベントゲートウェイは、ColdFusion イベントゲートウェイサービスのメッセージキューにイベントメッセージを送信します。また、イベントゲートウェイアプリケーション CFC または CFM ページが発信メッセージを送信するときに呼び出すメソッドを提供します。イベントゲートウェイクラスでは、次のことも行えます。バデイリスト管理や接続管理などのイベントゲートウェイ固有のサービスを提供するヘルパクラスに、ColdFusion アプリケーションがアクセスできるようにします。IP アドレスとポート、パスワード、その他の ID 情報、内部タイムアウト値などの設定情報を指定するファイルを使用できます。
イベントゲートウェイアプリケーションの開発について
ColdFusion アプリケーションの開発者は、イベントゲートウェイを使用するアプリケーションを記述します。イベントゲートウェイの提供者は、ゲートウェイ固有の情報を ColdFusion 開発者に公開します。公開する情報としては、ColdFusion アプリケーションとイベントゲートウェイの間で送受信するメッセージの構造および内容や、ColdFusion アプリケーションで使用できる設定ファイルやヘルパメソッドに関する情報などがあります。最も単純なイベントゲートウェイアプリケーションでは、このメソッドのみを実装します。より複雑なイベントゲートウェイタイプでは、複数の CFC リスナーメソッドが必要になることもあります。イベントゲートウェイやアプリケーションのタイプによっては、メッセージを発信するための CFM ページや CFC メソッドがイベントゲートウェイアプリケーションに含まれている場合があります。また、アプリケーションがイベントゲートウェイ固有の GatewayHelper オブジェクトを使用して、IM アプリケーションのバディリストの取得や、メッセージングサーバーのステータスの取得などのタスクを実行できる場合もあります。また、必要に応じて設定ファイルも使用します。設定ファイルでは、必要に応じてイベントゲートウェイタイプ固有の設定情報を指定します。このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。
コメントの追加
Ajax アプリケーションのデバッグ
クライアントサイドの多数の標準アクティビティもこのウィンドウにロギングされます。
ロギング情報の表示
ロギングウィンドウを表示する手順は、次のとおりです。メイン CFML ページリクエストでロギングウィンドウ情報をリクエストします。
ロギング出力の有効化
ロギングウィンドウに情報を送信するように ColdFusion を設定する手順は、次のとおりです。ロギングウィンドウに例外メッセージを表示するには、[デバッグ出力の設定] ページで [Robust 例外情報の有効化] オプションを選択する必要があります。
デフォルトでこのリストに含まれるのは、127
ページのロギング情報の表示
ブラウザで CFML ページをリクエストしたときにロギングウィンドウを表示するには、次のように、ページをリクエストするときに URL に HTTP パラメータ cfdebug を指定します。表示されたデバッグログウィンドウは、ユーザーがブラウザで新しいページに移動するまで実行されます。ロギングウィンドウに含まれるオプションを使用すると、次のいずれかまたは両方の条件によってメッセージをフィルタリングできます。デバッグ、情報、エラー、ウィンドウの 4 つの厳格度を任意に組み合わせて、表示するロギング情報を選択できます。メッセージの厳格度は、どのロギング関数を呼び出すかによって決まります。ロギングウィンドウには、標準カテゴリを使用して出力をフィルタするオプションが常に表示されます。カテゴリの使用方法の詳細については、標準の ColdFusion ロギングメッセージを参照してください。また、ColdFusion のロギング呼び出しで指定したカスタムカテゴリに対するフィルタオプションも表示されます。作成できるカテゴリ数に制限はありませんが、アプリケーションを効率的にデバッグする上で必要なカテゴリのみに限定することをお勧めします。
情報のロギング
それらの多くは、厳格度に対応しています。
問題のデバッグに役立つメッセージ
この関数を使用すれば、JavaScript の配列変数やオブジェクト変数の構造とコンテンツを表示できます。
エラーに関する情報
この関数は、エラー処理のコードでのみ使用してください。
正常に動作しているコードに関する情報
クライアントサイドコードの実行状況の追跡や分析などに役立ちます。ウィンドウレベルのメッセージを生成することはできません。このレベルは、ログリーダーウィンドウが生成するメッセージ (ログ関数呼び出しでの JavaScript エラーに関する情報など) のために予約されています。ロギング関数を呼び出すときは、メッセージとカテゴリを指定します。カテゴリには、わかりやすい簡潔な名前を付けてください。各カテゴリに対して、ロギングウィンドウの出力をフィルタリングするためのチェックボックスオプションが生成されます。このパラメータはオプションです。デフォルト値はグローバルです。cfajaximport タグを使用する場合、ロギングを有効にする属性を指定する必要はありません。次のロギング関数は、Pod A カテゴリに属する error レベルのログメッセージを生成します。
ロギングインフラストラクチャの初期化など
HTTP 呼び出しとその応答に関する情報
HTTP リクエストのコンテンツや、CFC 呼び出しと応答に関する情報など
ログ表示ウィンドウに関するメッセージ
バインド関連のアクション
バインド式の評価など
コントロール固有のアクション
ツリーやグリッドの生成など
このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。
コメントの追加
メソッドへのパラメータの受け渡し
CFC のメソッドにパラメータを渡すには、cfinvoke タグを使用する方法、メソッドを直接呼び出す方法、URL でパラメータを渡す方法があります。cfinvoke タグを使用する場合、CFC メソッドにパラメータを渡すには、次のようないくつかの方法があります。1 つの呼び出しの中で、これらの方法を自由に組み合わせることができます。複数の方法で同じ名前を指定した場合は、次の優先順位に基づいて値が使用されます。
属性形式によるパラメータの受け渡し
cfinvoke タグでは、次の例のように、タグ属性の名前と値のペアとしてパラメータを渡すことができます。メモ : cfinvoke タグの属性名は予約されているので、パラメータ名としては使用できません。詳細については、『CFML リファレンス』を参照してください。この方法は、CFC に引数として渡す値が既存の構造体またはスコープ (Forms スコープなど) に含まれている場合や、条件処理またはループ処理を使用してパラメータを作成する場合に便利です。このメソッドでは、各フォームフィールド名をパラメータ名として使用しています。メソッドの本文では、取得したフォームフィールドの内容を使用して、データベースにユーザーを追加できます。cfinvokeargument タグを使用すると、たとえば、ユーザーの入力に基づいて異なるパラメータを渡す条件処理を作成できます。次の例では、生成するレポートをユーザーがフォームで既に選択しています。このインスタンスで出力が生成されます。
メソッドの直接呼び出しでのパラメータの受け渡し
メソッドの直接呼び出しで CFC メソッドにパラメータを渡すには、次の 3 つの方法があります。次のコードは、前の例と同等です。各パラメータをカンマで区切った定位置パラメータを渡します。次の例では、getAuth メソッドを呼び出し、名前とパスワードを定位置パラメータとして渡しています。メモ : ColdFusion 関数で定位置パラメータおよびコンポーネントメソッドを使用する方法については、ユーザー定義関数の作成を参照してください。
URL でのパラメータの受け渡し
CFC メソッドに URL でパラメータを渡すことができます。それには、次に示すように、URL クエリー文字列の標準のシンタックスである名前と値のペアを URL に追加します。このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。
コメントの追加
NET アセンブリへのアクセス
NET アセンブリにアクセスできます。NET オブジェクトにローカルアクセスを行う。他のシステム上にある。NET オブジェクトにリモートアクセスを行う。
どちらの方法を使用する場合も、アセンブリが存在するシステムに ColdFusion
NET サービスを実行する必要があります。
ローカルアセンブリへのアクセス
このプロキシは次の使用に備えてキャッシュされるので、アセンブリプロキシが毎回生成されることはありません。NET アセンブリにアクセスする場合、通常はデフォルトの通信設定をそのまま使用できますが、 場合によっては設定の変更が必要になることもあります。
ポート番号の変更の詳細については、NET サイドのシステムの設定を参照してください。NET オブジェクトのメソッドを呼び出したり、フィールドにアクセスすることができます。NET クラスの使用方法の詳細については、NET クラスの使用を参照してください。
リモートアセンブリへのアクセス
リモートアクセスの場合は、TCP または HTTP を使用して、リモートシステム上の
NET サイドエージェントと通信することで、NET アセンブリにアクセスします。
ローカルアクセスの場合と同様に、プロキシのインスタンスを作成してアセンブリメソッドを呼び出しますが、その前に、リモートの
NET サイドエージェントを設定する必要があります。
また、ほとんどの場合、リモートの
NET クラスを表すプロキシクラスも設定する必要があります。
NET 統合ソフトウェアをインストールして、NET アセンブリがリモートシステムにのみ存在する場合は、アセンブリを表すプロキシ JAR ファイルをそのシステムで生成します (Java プロキシクラスの生成を参照してください)
そのプロキシファイルを、ローカルシステムにコピーまたは移動します。NET アセンブリがローカルシステムにも存在する場合は、この手順を省略できます。
リモートアクセス用に
NET サイドのシステムを設定します (NET サイドのシステムの設定を参照してください)
Java プロキシ生成コードでプロキシクラスを生成するには、生成コードが
NET アセンブリに直接アクセスする必要があります。
したがって、ColdFusion アプリケーションを実行するシステムにアセンブリがインストールされていない場合は、NET サイドのシステムでツールを実行して Java プロキシを作成する必要があります。exe" の 2 つのプロキシ生成プログラムがインストールされます。exe" プログラムはコマンドラインアプリケーションです。いずれのプログラムも機能は同じです。メモ : ColdFusion アプリケーションを実行するシステムにアセンブリがインストールされている場合は、(設定が異なるなどの理由で) リモートのアセンブリにアクセスする必要があっても、手動でプロキシクラスを生成する必要はなく、この手順は省略できます。dll ファイルのパスを指定し、server 属性でリモートサーバーを指定します。ただし、アクセスできるようにリモートシステムを設定する必要があります。スタンドアローンのインストーラは、"<インストールディレクトリ>¥jnbridge" ディレクトリにあります。このトピックでは、jnbproxyGui ツールを使用してプロキシ JAR ファイルを生成するために必要な基本情報について説明します。詳細な情報については、次の場所を参照してください。pdf" などの追加のマニュアルがあります。
プロキシ JAR の生成とインストール
オプションを選択して、[OK] をクリックします。その他の設定はデフォルト値のままにします。既存のプロジェクトを開くと、[Restart Java Side] という警告が開いて、クラスパスの変更を有効にするには Java サイドを停止して再起動する必要があるというメッセージが表示されることがあります。このメッセージは無視して、[OK] をクリックして続行できます。ここで変更を行う必要はありません。ColdFusion が存在しないシステムの場合 : このシステムで現在 ColdFusion を実行していない場合は、インターフェイスの右側にある次のオプションが設定されていることを確認します。その他の設定はデフォルト値のままにします。0) バージョンを使用できます。メインの Java プロキシ生成インターフェイスで、プロジェクトの設定と構築を行います。まだ行っていない場合は、アセンブリが格納されているディレクトリを JNBProxy のプロジェクトに追加する必要があります。ツリーでディレクトリ (複数も可) を選択して、[OK] をクリックします。プロキシを必要とするクラスが含まれているアセンブリファイル (複数も可) を選択して、[OK] をクリックします。
選択したファイル内のクラスと、そのクラスが依存しているその他の
JAR ファイル内のプロキシを必要とするすべてのクラスを選択し、[Add+] ボタンをクリックして、選択したクラスとすべてのサポートクラスを追加します。通常は、表示されたすべてのクラスを選択し、必要なクラスが確実に含まれるようにします。次回 jnbproxyGui プログラムを実行するときは、このプロジェクトを選択することで、以前の設定 (アセンブリリストなど) を再利用できます。NET クラスだけでなく、サポートクラスに対してもプロキシを生成することができます。
NET クラスのサポートクラスとは、その
NET クラスを使用することで直接的または間接的に必要になる可能性があるすべてのクラスのことです。NET クラスのサポートクラスには、次のすべてのクラスが含まれます。
そのクラス自体
そのクラスのスーパークラスまたはスーパーインターフェイス (存在する場合) と、そのすべてのサポートクラス
そのクラスで実装されているインターフェイス (存在する場合) と、そのすべてのサポートクラス
そのクラスの各フィールドに対して :
そのフィールドのクラスと、そのすべてのサポートクラス
そのフィールドの各インデックスパラメータに対して、そのパラメータのクラスと、そのすべてのサポートクラス
そのクラスの各メソッドに対して :
そのメソッドの戻り値のクラス (存在する場合) と、そのすべてのサポートクラス
そのメソッドの各パラメータに対して、そのパラメータのクラスと、そのすべてのサポートクラス
そのクラスの各コンストラクタの各パラメータに対して、そのパラメータのクラスと、そのすべてのサポートクラス
Java では、メソッドが投げる例外もサポートクラスに含まれますが、NET の例外は事前に定義されないので、サポートクラスには含まれません。サポートクラスの数は、明示的に指定するクラスによって異なりますが、多くの場合 200 ~ 250 クラスです。通常は、すべてのサポートクラスを生成します。ただし、時間や容量を節約するために、サポートクラスを除外して、明示的に指定したクラスのみを生成できることもあります。プロキシが生成されていないサポートクラスに対してプロキシが必要になった場合は、必要なクラスに最も近いスーパークラスのプロキシが代わりに使用されます。
そのプロキシも生成されていない場合は、そのスーパークラスのさらにスーパークラスのプロキシが生成されていれば使用され、以下同様に、System
このように、プロキシのセットが不完全であってもコードは実行されますが、機能やその他の情報が失われる可能性があります。[Add+] ボタンをクリックすると、サポートクラスもリストに含まれます。jnbproxy コマンドラインプログラムでは、デフォルトのコマンドでサポートクラスのプロキシが生成されます。このデフォルトを上書きするには、/ns オプションを使用します。
NET サイドのシステムの設定
ローカルアセンブリの場合は、デフォルト以外のポートを使用するときか、SSL セキュリティを使用するときにのみ、このファイルを編集する必要があります。
リモートマシンに
NET アセンブリがある場合は、このファイルにアセンブリを登録して、ColdFusion からアクセスできるようにする必要があります。
設定ファイルの編集
scheme 属性では通信プロトコルを指定します。
ポート番号は、NET サイドエージェントのポートです。この属性はオプションです。デフォルトでは SSL を使用しません。これらの設定は、cfobject タグの対応する属性と同じである必要があります。
リモートシステムに
NET サイドエージェントが実行されている場合は、停止して再起動します。NET サービスを再起動します。これで、設定した。サーバーは TCP バイナリモードを使用して通信し、ポート 6086 でリスンします。Forms のクラスにアクセスすることができます。このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。
コメントの追加
これは、標準のインタラクティブフォームを使用して追加情報を含めたい場合に便利です。たとえば、企業が汎用的な PDF フォームを使用して、従業員の情報を管理しているとします。このフォームをさまざまな状況で再利用して、最新の従業員情報を維持することができます。ユーザーがフォームを更新して印刷または送信すると、スタティックな PDF ページも含めて、ドキュメント内のすべてのページがフォームと一緒に印刷または送信されます。メモ : PDF ドキュメントに埋め込めるインタラクティブフォームは 1 つのみです。<p>これは最初のドキュメントセクションです。<p>これは別のセクションです。埋め込み PDF フォームの一部であるヘッダとフッタは、PDF ドキュメントのその他の部分には適用されず、cfdocument タグで定義されているヘッダとフッタは、インタラクティブフォームには適用されません。cfdocumentitem タグで定義されているヘッダとフッタの情報は、埋め込みフォームの後にあるセクションから再開され、埋め込みフォームページの存在が反映されます。ただし、cfdocument タグでファイル名を指定して、PDF フォームが含まれている PDF ドキュメントを出力ファイルに書き込むことはできます。ファイル名を指定しなかった場合は、ブラウザ内に PDF ドキュメントのコンテキストで PDF フォームが表示されます。このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。
コメントの追加
チャートの外観の設定
次の方法でチャートの外観を設定できます。
独自のチャートスタイルの作成
次の例では、beige スタイルを使用しています。cfchart タグでは、チャートタイプに応じて、次のオプションの特性を指定できます。
チャートの特性
使用する属性
デフォルトの形式は SWF ファイルです。
チャートの幅と高さ (ピクセル単位)
この設定によって、チャート領域全体 (凡例やチャートを囲む背景領域を含む) のサイズが定義されます。
前面オブジェクトと背景オブジェクトのカラー
数値の形式を使用する場合は、シャープ記号を使用する必要があります。xx は透明度を表します。不透明の場合は値 FF、透明の場合は値 00 を指定します。font 属性は、すべてのテキストのフォントを指定します。ダブルバイトの文字セットを使用する場合は、その文字セットが表示可能なフォントを指定する必要があります。メモ : ColdFusion サーバーにインストールされていないフォントを指定した場合は、利用可能な別のフォントが使用されます。フォントを指定していない場合、日本語、中国語、韓国語などの非 ASCII 文字が正しく表示されない可能性があります。fontSize は、すべてのテキストのフォントサイズを整数で指定します。x 軸および y 軸のグリッド線を表示します。総数には軸そのものも含まれます。各グリッド線の値は、値軸に沿って表示されます。デフォルト値は 0 で、グリッド線は表示されません。
スライスのスタイル
データ軸上の最小ポイントと最大ポイントを指定します。デフォルトでは、最小ポイントは 0 かチャート内の最小の負のデータ値となり、最大ポイントは最大のデータ値となります。メモ : チャートの一部しか表示されないような値を scaleFrom または scaleTo 属性に指定した場合は、チャート全体が表示されるような値が自動的に使用されます。X 軸の種類 (数値スケールであるかカテゴリの名前であるか) と、X 軸上での項目のソート方法を指定します。scale 値にすることで、数値間の関係を表すグラフ (年齢別人口など) を作成することができます。項目の値はテキストとして処理されます。デフォルトでは、最初のチャート系列で記述した順序で項目が表示されます。
デフォルト値は 0
デフォルトでは、グラフタイプに基づいて各系列の最適な場所が ColdFusion によって決定されます。tipStyle 属性は、マウスポインタが指しているチャート要素の情報を示す小さいポップアップウィンドウの表示方法を指定します。次の表で、各属性について説明します。
チャートの特性
使用する属性
円グラフの場合は、最初のスライスのカラーになります。後のスライスのカラーは、指定した最初のカラーに基づいて自動的に決まります。データ系列にカラーを適用する方法を指定します。単色、ボタン風の外観、中央が薄く外側が濃い線形グラデーションの塗り、およびより薄いカラーでのグラデーションの塗りを指定できます。
データポイントのカラー
棒、角錐、面積、横棒、円錐、円柱、ステップ、円グラフの各データポイントで使用するカラーのカンマ区切りリスト
数値の形式を使用する場合は、シャープ記号を使用する必要があります。xx は透明度を表します。不透明の場合は値 FF、透明の場合は値 00 を指定します。指定したカラー数がデータポイント数より少ない場合、それらのカラーが繰り返し使用されます。指定したカラー数がデータポイント数よりも多い場合、余分なカラーは使用されません。データポイントをマークするためのシェイプを指定します。2D チャート用にサポートされています。系列内の項目へのカラーの適用方法を指定します。
独自のチャートスタイルの作成
次のいずれかの方法で、独自のチャートスタイルを作成できます。
チャートスタイル XML ファイルの編集
ColdFusion で提供されているチャートスタイルを編集して、独自のチャートスタイルを作成できます。ファイルを編集するときは、XML ファイルで指定されている属性のみを変更してください。他の属性を指定する場合は、WebCharts3D によるチャートスタイルの作成の説明に従ってください。メモ : デフォルトの各チャートスタイルには、2 つの XML ファイルが存在します。ファイルの内容を編集します。(オプション) 既存のチャートを開きます。チャートの外観を変更します。メモ : cfchart タグで使用できるチャートスタイルファイルを作成するためには、この手順の後の表で示されている以外の変更は行わないでください。XML スタイルタブをクリックします。右下隅にある [保存] ボタンをクリックします。このチャートスタイルファイルの保存先となるディレクトリを指定します。メモ : チャートスタイル XML ファイルの検索ルールは、cfinclude タグのインクルードファイルの検索ルールと同じです。[保存] をクリックします。
ハンドルによりチャートをドラッグ
現時点では効果無し
このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。
コメントの追加
グローバル化について検討する際は、アプリケーションで認識する文字セットまたは文字エンコードと、アプリケーションでデータの形式設定に使用するロケールという 2 つの項目について考慮する必要があります。文字セットは文字のコレクションです。たとえば、ラテンアルファベットは英語の記述に使用する文字セットであり、A ~ Z の小文字と大文字がすべて含まれています。フランス語の文字セットには、英語で使用される文字セットの他に、""、""、"" などの特殊文字が含まれています。日本語では ひらがな、カタカナ、および漢字の 3 種類の文字が使用されます。ひらがなとカタカナは、それぞれ 46 個の文字と 2 つのアクセント記号が含まれている音標文字です。漢字には、日本で独自に発展した中国の表意文字が含まれています。日本語では 10,000 個以上の異なる文字がサポートされており、英語よりもはるかに大きな文字セットを使用します。ColdFusion アプリケーションでテキストを処理するためには、そのテキストで使用されている文字セットをアプリケーションが認識する必要があります。文字エンコードとは、文字セットの定義と、データを表すために使用されるデジタルコードとの間のマッピングのことです。文字セットと文字エンコードという用語は同じ意味で使用されることも多く、ほとんどの場合、特定の文字エンコードでエンコードする文字セットは 1 つのみです。ただし、常にそうであるとは限りません。Unicode 文字セットの文字エンコードは複数あります。文字エンコードの詳細については、文字エンコードについてを参照してください。メモ : ColdFusion では、属性名、構造フィールドキー、および関数パラメータ名の文字エンコードを示すために、文字セットという用語を使用します。ロケールは、ユーザーの言語と文化の設定を表します。ロケールによって、日付、通貨、時刻、数値データの表示形式が制御されます。日付、時刻、通貨、および数値データを顧客に正しく表示するには、顧客のロケールを把握する必要があります。ロケールの詳細については、ロケールを参照してください。このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。
コメントの追加
検索式の作成
検索式の作成には次のルールが適用されます。
大文字と小文字の区別
Verity では、大文字と小文字が混在した検索語が入力された場合にのみ、大文字と小文字が区別されます。次のコードでは、ユーザー入力が小文字に変換されるので、大文字と小文字が区別されなくなります。
前置表記法と中置表記法
デフォルトでは、Verity は中置表記法を使用します。中置表記法では式内の優先度は暗黙的になります。たとえば、AND 演算子は OR 演算子よりも優先度が高くなります。エビデンス演算子の詳細については、エビデンス演算子を参照してください。前置表記法では、式内の優先度は明示的になります。前置表記法では、演算子を繰り返し記述せずに一度だけ記述し、括弧内に検索ターゲットをリストすることができます。たとえば、次の式は等価です。次の前置表記法の例では、まず Larry および Jerome が含まれているドキュメントが検索され、次に Moses が含まれているドキュメントが検索されます。次の例は、前述の例を中置表記法で記述したものです。
式内のカンマ
式の中で複数の検索語を丸括弧で囲むときは、必ず各要素の間をカンマで区切ってください。空白は無視されます。式は、左から右に読み取られます。ただし、丸括弧で囲まれた語句が最初に評価されます。丸括弧がネストされているときは、最も内側の丸括弧が最初に評価されます。
式内の区切り文字
次の表で説明するように、検索式内のさまざまな要素を区切るには、山括弧 (< >)、二重引用符 (")、および円記号 (¥) を使用します。左山括弧と右山括弧は、演算子と修飾子を指定するために予約されています。AND、OR、NOT などの演算子または修飾子として予約されている単語を検索する場合は、式の中のそれらの単語を二重引用符 (") で囲みます。
演算子と修飾子
Verity には、これ以外にもさまざなまタイプの演算子および修飾子が多数あり、検索パラメータを詳細に設定することができます。演算子は、検索要素に適用するロジックを表します。このロジックによって、検索されるドキュメントが満たす必要のある条件が定義されます。演算子は、検索の精度を高めたり、その結果に何らかの影響を与えたりするときに使用します。たとえば、検索を行うために HTML フォームを構築するとします。このフォームでは、1 つの単語を検索できるようにします。検索範囲をさまざまな方法で制限することによって、検索の精度を高めることができます。クエリーを 1 つの文または段落に制限する演算子を使用して、近接性に基づいた検索を行うことができます。通常、演算子は次のように明示的な検索で使用します。演算子のタイプは、次のとおりです。
演算子のタイプ
検索要素の意味を組み合わせることによって、ドキュメント内の概念を識別します。コレクション内のフィールドを検索します。基本単語検索およびインテリジェント単語検索を指定します。ドキュメント内の複数の単語の相対位置を指定します。検索要素によって返されるスコアを操作します。パーセンテージによるスコアの表示は、小数点以下第 4 位まで設定することができます。概念演算子は、検索要素の意味を組み合わせることによって、ドキュメント内の概念を識別します。概念演算子を使用して検索されたドキュメントは、適合度によってランク付けされます。次の表で、各概念演算子について説明します。指定された検索要素がすべて含まれているドキュメントを選択します。指定された検索要素が少なくとも 1 つ含まれていることが明らかなドキュメントを選択します。指定された検索要素が少なくとも 1 つ含まれているドキュメントを選択します。ドキュメントは、検出された検索要素の個数に基づいてランク付けされます。指定された検索要素がすべて含まれているドキュメントを選択します。
これによって取得されるドキュメントにはスコア 1
00 が割り当てられます。
ALL を使用しても AND を使用しても取得される結果は同じですが、ALL を使用するクエリーには常にスコア 1
00 が割り当てられます。指定された検索要素が少なくとも 1 つ含まれているドキュメントを選択します。
これによって取得されるドキュメントにはスコア 1
00 が割り当てられます。
ANY を使用しても OR を使用しても取得される結果は同じですが、ANY を使用するクエリーには常にスコア 1
00 が割り当てられます。関係演算子は、コレクション内に定義されている AUTHOR などのドキュメントフィールドを検索します。指定したフィールド値が含まれているドキュメントが返されます。関係演算子を使用して検索されたドキュメントは、適合度によってランク付けされません。また、関係演算子に MANY 修飾子は使用できません。次の演算子は、数値および日付の比較に使用します。より大きいか、または等しい。より小さいか、または等しい。たとえば、1999 ~ 2002 の範囲の値を含んでいるドキュメントを検索するには、次のいずれかの検索を実行します。PAGES という名前のドキュメントフィールドが定義されている場合、PAGES < 5 と入力して検索すると 4 ページ以下のドキュメントを検索できます。次の関係演算子は、テキストを比較して単語および単語の一部に一致します。指定のドキュメントフィールドに保存されている値から指定の単語またはフレーズを検索することによって、ドキュメントを選択します。指定された検索要素がフィールド値の中に同じ順序で連続して含まれている場合にのみ、ドキュメントが選択されます。指定のドキュメントフィールドに保存されている値からクエリー文字列を検索することによって、ドキュメントを選択します。指定された検索要素がフィールド値と正確に一致している場合にのみ、ドキュメントが選択されます。部分一致の場合、ドキュメントは選択されません。MATCHES 演算子を使用するときは、検索するフィールド名と、単語、フレーズ、または数値を指定します。) と複数文字を表すアスタリスク (*) を文字列内で使用できます。例については、この表の後に記載されているテキストを参照してください。指定のドキュメントフィールドに保存されている値の先頭が指定の文字列に一致するドキュメントを選択します。指定のドキュメントフィールドに保存されている値の末尾が指定の文字列に一致するドキュメントを選択します。指定のドキュメントフィールドの文字列の一部が指定のクエリー文字列に一致するドキュメントを選択します。たとえば、SOURCE というドキュメントフィールドに次の値が含まれているとします。ソースが Computer であるドキュメントを検索するには、次のように入力します。SUBSTRING 演算子を使用すると、指定のデータソースに保存されているデータから特定の文字列を検索できます。この検索では、TEXT 列が含まれているコレクションで特定の文字列を検索し、さらに、CF_TITLE ドキュメントフィールドで文字列 Utah を検索して絞り込みます。このドキュメントフィールドは、すべてのコレクションで定義されるデフォルトの名前の 1 つです。エビデンス演算子を使用すると、基本単語検索またはインテリジェント単語検索を指定することができます。基本単語検索では、クエリーで指定した単語のみが検索されます。インテリジェント単語検索では、クエリーで指定した単語から派生語のリストが作成され、それらの単語が含まれているドキュメントが検索されます。MANY 修飾子を使用しないかぎり、エビデンス演算子を使用して検索されたドキュメントは適合度によってランク付けされません。次の表で、エビデンス演算子について説明します。入力された単語に加えて、その派生語が検索に含められます。単純なクエリーでは、自動的に STEM 演算子が適用されます。検索文字列に含まれているワイルドカード文字列に一致する語句を検索します。) などの特定の文字は、自動的にワイルドカード検索であると見なされます。基本単語検索を実行し、入力した語句が単語として含まれているドキュメントを選択します。単純なクエリーでは、自動的に WORD 演算子が適用されます。入力された単語に加えて、その同意語が検索に含められます。デフォルトでは、コレクションにシソーラスは用意されていません。この機能を使用するには、シソーラスを構築する必要があります。入力された単語に加えて、それに "近い発音" を持つ単語や、文字パターンの似ている単語が検索に含められます。デフォルトでは、似た発音のインデックスは用意されていません。この機能を使用するには、似た発音のインデックスを構築する必要があります。入力された単語に加えて、それに似た単語が検索に含められます。この演算子を使用すると、"近似パターンマッチング" によって似た単語が識別されます。演算子名のオプションの N 変数は、クエリー単語と一致単語の相違点の最大数 (誤差範囲) を表します。N を指定しない場合、デフォルトの誤差範囲は 2 です。エビデンス演算子を使用した例は次のとおりです。近接演算子は、ドキュメント内の指定した複数の単語の相対位置を指定します。指定した複数の単語が同じフレーズ、段落、または文の中に含まれているドキュメントが取得されます。NEAR および NEAR/N 演算子の場合、検索されたドキュメントは、指定した単語の近接性に基づく適合度によってランク付けされます。近接演算子はネストすることができます。次の表で、近接演算子について説明します。指定された検索語が含まれているドキュメントを選択します。検索語が近くにあるほど、ドキュメントのスコアは高くなります。最も狭い範囲にすべての検索語が含まれているドキュメントが最高のスコアを獲得します。検索語が互いに 1,000 語よりも離れている場合、そのドキュメントは選択されません。検索の近接度を制御するには、NEAR/N を使用します。複数の検索語が互いに N 語以内にあるドキュメントを選択します。検索語が近くにあるほど、ドキュメントのスコアは高くなります。NEAR/N を複数使用して、複数の検索語を指定することができます。ただし、N の値はすべて同じであることが必要です。指定された単語がすべて同じ段落内に含まれているドキュメントを選択します。段落内の 3 個以上の単語またはフレーズを検索するには、各単語またはフレーズに対して PARAGRAPH 演算子を適用する必要があります。指定されたフレーズが含まれているドキュメントを選択します。フレーズとは、複数の単語が特定の順序で並んでいるグループのことです。指定された単語がすべて同じセンテンスに含まれているドキュメントを選択します。指定された値がドキュメントゾーンに含まれているドキュメントを選択します。ドキュメントゾーンは、ドキュメントの要約、日付、本文などのドキュメントの領域を表します。特定の条件が設定されたゾーン内でのみ単語を検索するには、IN 演算子と WHEN 演算子を使用します。近接演算子の例を次に示します。IN 近接演算子を使用した XML ドキュメントの検索例については、ゾーン検索を参照してください。スコア演算子は、検索されたドキュメントのスコアの計算方法を指定します。
返された検索要素に関連付けられる最高スコアは 1
スコアの表示は、小数点以下第 4 位まで設定することができます。スコア演算子を使用すると、まず、ドキュメント内で検出されたそれぞれの検索要素に対して個別のスコアが算出され、次に、それらのスコアに対して数学演算が実行されて、ドキュメントの最終スコアが算出されます。ドキュメントのスコアは、結果列として返されます。SCORE 結果列を使用して、検索されたドキュメントの適合度のスコアを取得できます。次の表で、スコア演算子について説明します。要素のスコアが 0 でない場合は、そのスコアを強制的に 1 にします。YESNO 演算子を使用して、適合度によるランク付けを行わないようにすることもできます。クエリーに一致した各ドキュメントで検索要素のスコアを乗算します。クエリーに一致した各ドキュメントで検索要素のスコアを加算します。クエリーの検索要素のスコアの補数を取る (1 から減算する) ことによって、クエリーに一致したドキュメントのスコアを計算します。新しいスコアは、1 から検索要素の元のスコアを引いた値になります。
検索要素の元のスコアが 0
演算子の標準動作を変更するには、修飾子を演算子と組み合わせて使用します。次の表で、使用可能な修飾子について説明します。大文字と小文字を区別して検索します。通常、Verity では、すべて大文字またはすべて小文字で入力された検索テキストに対しては大文字と小文字を区別しない検索が行われ、大文字と小文字が混在した検索文字列に対しては大文字と小文字を区別した検索が行われます。ドキュメント内の単語、語尾変化した派生語、またはフレーズの密度を算出し、検索されたドキュメントの適合度によるランキングスコアを生成します。次の演算子と併用します。MANY 修飾子は次の演算子とは併用できません。指定された単語またはフレーズが含まれているドキュメントを除外します。AND および OR 演算子との組み合わせでのみ使用します。クエリーで指定したとおりの順序で検索要素が出現する場合に一致します。次の演算子と併用します。ORDER 修飾子は、どの演算子よりも前に配置します。このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。
コメントの追加
ColdFusion は、ダイナミックなインターネットアプリケーションを作成するためのスクリプト環境を備えたサーバーです。ColdFusion を使用すれば、ダイナミックな Web サイト、コンテンツパブリッシュシステム、セルフサービス型アプリケーション、コマースサイトなどを簡単に構築してデプロイできます。ColdFusion アプリケーションを作成するには、すべてのコードを自分で入力してもかまいませんし、一部のエディタで提供されているウィザードを使用して大半のコードを生成することもできます。ローカルサーバー (ColdFusion が稼動しているコンピュータ) 上でページを作成している場合は、そのコンピュータにページを保存します。リモートサーバーを使用している場合は、そのサーバーにページを保存する必要があります。cfm のように、必要に応じてコンテキストルートも指定します。次の各セクションで、これらのコアコンポーネントについて説明します。ColdFusion スクリプト環境は、インターネットアプリケーションを開発するための効率的なモデルを提供します。CFML はタグベースのプログラミング言語で、Web プログラミングに必要な低レベル処理の多くが高レベルのタグや関数にカプセル化されています。CFML を使用すれば、データベースコマンド、条件演算子、高度な書式制御関数などを使用して標準の HTML ファイルを拡張し、保守性の高い Web アプリケーションを迅速に作成できます。詳細については、CFML の要素を参照してください。開始タグと (多くの場合) 終了タグがあり、各タグは山括弧で囲まれています。終了タグの前にはスラッシュ記号 (/) があり、すべてのタグの名前は cf で始まります。たとえば、次のようになります。CFML は、一種のアブストラクションレイヤーです。インターネットアプリケーションのプログラミングで必要な多くの低レベル処理が隠蔽されているので、生産性の向上が図れます。また、CFML は強力で柔軟性が高いので、 ファイル、データベース、レガシーシステム、メールサーバー、FTP サーバー、オブジェクト、コンポーネントなどを統合するアプリケーションを簡単に構築できます。CFML タグを使用すれば、さまざまな処理が行えます。条件処理やループ処理などのプログラミング構文を使用したり、 グラフ作成や全文検索などのサービスを利用することもできます。データベースへの接続を確立し (確立されていない場合)、クエリーを実行して結果を ColdFusion 環境に返します。
アプリケーション変数、クエリー結果、またはサーバーファイルを使用して、アプリケーションから SMTP メールメッセージを送信します(メールを受信するには cfpop という別のタグを使用します)
アプリケーションデータやクエリー結果を、Flash、JPG、または PNG 形式の棒グラフや円グラフなどに変換します。CFML では、文字列操作、データ管理、システム機能などのさまざまな処理がビルトイン関数として用意されています。また、CFScript というビルトインスクリプト言語も用意されています。また、ColdFusion コンポーネント (CFC) を作成することで、関連する関数やプロパティをカプセル化してそのインターフェイスを提供できます。これらの機能を使用すれば、構築するアプリケーションや Web サイトに適した再利用可能な機能を簡単に作成できます。これには、ColdFusion サーバーのステータスを確認できるサーバーモニタが含まれています。このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。
コメントの追加
データの挿入
データベースにデータを挿入するには通常、次の 2 つのアプリケーションページを使用します。フォームが送信されると、指定のデータソースに挿入操作 (および呼び出されている他のすべての操作) を行う ColdFusion アクションページにフォーム変数が渡されます。挿入アクションページでは、エンドユーザーに確認メッセージを表示する必要もあります。標準 HTML タグを使用してフォームを作成する手順を次に示します。Web ブラウザには次の図に似たフォームが表示されます。メモ : このフォームは、アクションページを作成しないと機能しません。詳細については、データを挿入するアクションページの作成を参照してください。
データ入力フォームについての注意事項
アクションページで cfinsert タグを使用してデータベースにデータを挿入する場合は、フォームページの作成時に次のルールに従ってください。作成する必要がある HTML フォームフィールドは、データを挿入するデータベース列に対応するフィールドのみです。デフォルトでは、cfinsert タグによってすべてのフォームフィールドが、同じ名前のデータベース列に挿入されます。データベース列の名前に一致しないフォームフィールドは、すべて無視されます。
データを挿入するアクションページの作成
このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。
コメントの追加
SOAP リクエストとレスポンスに関するトラブルシューティング
ColdFusion では、次の機能を使用して、SOAP リクエストとレスポンスに関するトラブルシューティングを行えます。
SOAP リクエストとレスポンスの表示
上級ユーザーであれば、こうした情報を利用してカスタム機能を実現できますが、通常はデバッグ目的でこれらの関数を使用します。これらの関数は次の状況で使用します。また、SOAP トラフィックのリクエストおよびレスポンスフローも監視できます。TCP モニタのメインウィンドウが表示されます。また、SOAP トラフィックのリクエストおよびレスポンスフローも監視できます。TCP モニタのメインウィンドウが表示されます。メモ : J2EE 設定の場合は、次のコマンドを使用して、JAR ファイルからユーティリティを直接実行します。次の表の説明に従って、メインウィンドウに値を入力します。8123 など、受信される接続を監視するローカルポート番号を入力します。サーバーが実行されている通常のポートの代わりに、このポートにリクエストを送信します。受信した接続の転送先となるターゲットホストを入力します。たとえば、ローカルサーバーのサービスを監視している場合、ホスト名は localhost です。TCPMonitor の接続先となるターゲットマシンのポート番号を入力します。たとえば、サーバー設定のローカル ColdFusion サーバーで実行しているサービスを監視している場合、デフォルトのポート番号は 8500 です。このチェックボックスは、TCPMonitor のプロキシサポートを設定する場合にのみ選択します。トンネリングされた新しい接続のためのタブが表示されます。新しいタブを選択します。リクエストとレスポンスのペアは、すべてログに記録されます。トップパネルでエントリを選択すると、選択したペアを表示できます。[保存] をクリックすると、後で表示するために結果をファイルに保存できます。[Resend] をクリックすると、現在表示中のリクエストを再送して、新しいレスポンスを表示できます。再送する前に [Request] パネルを編集すると、異なるリクエストの効果をテストできます。ポートを変更する場合は、[停止] をクリックし、ポート番号を変更してから [スタート] をクリックします。別のリスナーを追加する場合は、[Admin] タブをクリックして、前の説明に従って値を入力します。このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。
コメントの追加