Dreamweaver でのカスタムサーバービヘイビアーの追加

最終更新日 : 2024年4月25日
メモ

Dreamweaver 以降では、ユーザーインターフェイスが簡素化されています。 そのため、この記事で説明されているオプションの一部が Dreamweaver 以降には存在しない場合があります。 詳しくは、こちらの記事を参照してください。

カスタムサーバービヘイビアーについて

Dreamweaver には、サイトに動的機能を簡単に追加できる組み込みのサーバービヘイビアーのセットが付属しています。開発ニーズに合うサーバービヘイビアーを作成したり、Dreamweaver Exchange web サイトからサーバービヘイビアーを取得したりして、Dreamweaver の機能を拡張できます。

独自のサーバービヘイビアーを作成する前に、Dreamweaver Exchange web サイトを確認して、web サイトに追加したい機能を提供するサーバービヘイビアーを他の開発者が既に作成していないか確認してください。多くの場合、サードパーティのデベロッパーがニーズに対応するサーバービヘイビアーを作成してテストしています。

Dreamweaver Exchange へのアクセス

Dreamweaver で、次のいずれかの方法で Dreamweaver Exchange にアクセスします:
  • ヘルプ/Dreamweaver Exchange を選択します。

  • ウィンドウ/サーバービヘイビアーを選択し、プラス(+)ボタンをクリックして、「その他のサーバービヘイビアーを入手」を選択します。

Dreamweaver Exchange の Web ページがブラウザーに表示されます。

Adobe ID を使用して Exchange にログオンするか、Dreamweaver Exchange ID をまだ作成していない場合は、指示に従ってアドビアカウントを開設してください。

Dreamweaver にサーバービヘイビアーまたはその他の拡張機能をインストールする

[コマンド]>[拡張機能を管理]を選択して Extension Manager を起動します。
Extension Manager で「ファイル」>「パッケージをインストール」を選択します。

詳しくは、『Extension Manager の使用』を参照してください。

カスタムサーバービヘイビアーのワークフロー

ColdFusion、JavaScript、VBScript、または PHP に精通した web デベロッパーの場合は、独自のサーバービヘイビアーを作成できます。サーバービヘイビアーを作成する手順には、次のタスクが含まれます:

  • 必要なアクションを実行する 1 つ以上のコードブロックを作成します。

  • ページの HTML コード内でコードブロックを挿入する場所を指定します。

  • サーバービヘイビアーでパラメーターの値を指定する必要がある場合は、ビヘイビアーを適用する web デベロッパーに適切な値の入力を求めるダイアログボックスを作成します。

  • 他のユーザーが使用できるように公開する前に、サーバービヘイビアーをテストします。

サーバービヘイビアービルダーの使用

Server Behavior Builder を使用して、ビヘイビアーがページに挿入するコードブロックを追加します。

サーバービヘイビアーパネル(ウィンドウ/サーバービヘイビアー)で、プラス(+)ボタンをクリックして「新規サーバービヘイビアー」を選択します。
ドキュメントタイプポップアップメニューから、サーバービヘイビアーを開発するドキュメントタイプを選択します。
「名前」ボックスにサーバービヘイビアーの名前を入力します。
(オプション)既存のサーバービヘイビアーをコピーして作成中のビヘイビアーに追加するには、「既存のサーバービヘイビアーをコピー」オプションを選択し、「コピーするビヘイビアー」ポップアップメニューでサーバービヘイビアーを選択します。「OK」をクリックします。

サーバービヘイビアービルダーダイアログボックスが表示されます。

新しいコードブロックを追加するには、プラス(+)ボタンをクリックし、コードブロックの名前を入力して「OK」をクリックします。

入力した名前が Server Behavior Builder に表示され、コードブロックボックスに適切なスクリプトタグが表示されます。

コードブロックボックスで、サーバービヘイビアーを実装するために必要なランタイムコードを入力します。
メモ

コードブロックボックスにコードを入力するときは、名前付きコードブロック(例:myBehavior_block1myBehavior_block2myBehavior_blockn など)ごとに単一のタグまたはコードブロックのみを挿入できます。複数のタグまたはコードブロックを入力する必要がある場合は、それぞれに個別のコードブロックを作成してください。他のページからコードをコピーして貼り付けることもできます。

パラメーターを挿入するコードブロック内に挿入ポイントを配置するか、パラメーターで置き換える文字列を選択します。
「コードブロックにパラメーターを挿入」ボタンをクリックします。
パラメーター名ボックスにパラメーターの名前を入力し(例:Session)、「OK」をクリックします。

パラメーターを定義する前に挿入ポイントを配置した場所で、パラメーターがコードブロックに挿入されます。 文字列を選択した場合、コードブロック内の選択した文字列のすべてのインスタンスがパラメーターマーカー(例:@@Session@@)に置き換えられます。

コードブロックを埋め込む場所を指定するコード挿入ポップアップメニューからオプションを選択します。
(オプション)サーバービヘイビアーに関する追加情報を指定するには、「詳細設定」ボタンをクリックします。
複数のコードブロックを作成するには、手順 5 ~ 11 を繰り返します。
サーバービヘイビアーにパラメーターの提供が必要な場合は、ビヘイビアーを適用するユーザーからパラメーターを受け取るダイアログボックスを作成する必要があります。 以下のリンクを参照してください。
サーバービヘイビアーを作成するために必要な手順を実行した後、「OK」をクリックします。

サーバービヘイビアーの一覧がサーバービヘイビアーパネルに表示されます。

サーバービヘイビアーをテストし、正常に機能することを確認します。

高度なオプション

各コードブロックのソースコードと挿入場所を指定すると、サーバービヘイビアーが完全に定義されます。 ほとんどの場合、追加情報を指定する必要はありません。

上級ユーザーの場合、以下のオプションを設定できます:

識別子

コードブロックを識別子として扱うかどうかを指定します。

初期設定では、すべてのコードブロックは識別子です。 Dreamweaverがドキュメント内の任意の場所で識別子コードブロックを見つけると、サーバービヘイビアーパネルにビヘイビアーが一覧表示されます。 識別子オプションを使用して、コードブロックを識別子として扱うかどうかを指定します。

サーバービヘイビアーのコードブロックの少なくとも1つは識別子である必要があります。 次の条件のいずれかが適用される場合、コードブロックは識別子にすべきではありません:同じコードブロックが他のサーバービヘイビアーで使用されている場合、またはコードブロックが非常に単純でページ上に自然に発生する可能性がある場合。

サーバービヘイビアータイトル

サーバービヘイビアーパネルのビヘイビアーのタイトルを指定します。

ページデザイナーがサーバービヘイビアーパネルのプラス(+)ボタンをクリックすると、新しいサーバービヘイビアーのタイトルがポップアップメニューに表示されます。 デザイナーがサーバービヘイビアーのインスタンスをドキュメントに適用すると、そのビヘイビアーがサーバービヘイビアーパネルの適用されたビヘイビアーのリストに表示されます。 サーバービヘイビアータイトルボックスを使用して、プラス(+)ポップアップメニューと適用されたビヘイビアーのリストの内容を指定します。

ボックス内の初期値は、新規サーバービヘイビアーダイアログボックスで指定した名前です。 パラメーターが定義されると、サーバービヘイビアー名の後の括弧内にパラメーターが表示されるよう、名前が自動的に更新されます。

セッション変数の設定(@@Name@@、@@Value@@)

ユーザーがデフォルト値を受け入れる場合、括弧より前のすべてがプラス(+)ポップアップメニューに表示されます(例:セッション変数の設定)。 名前とパラメーターが適用されたビヘイビアーのリストに表示されます。例:セッション変数の設定("abcd"、"5")。

選択するコードブロック

ユーザーがServer Behaviorsパネルでビヘイビアを選択したときに選択されるコードブロックを指定します。

サーバービヘイビアを適用すると、ビヘイビア内のコードブロックの1つが「選択するコードブロック」として指定されます。サーバービヘイビアを適用してから、Server Behaviorsパネルでビヘイビアを選択すると、指定されたブロックがDocumentウィンドウで選択されます。デフォルトでは、Dreamweaverはhtmlタグより上にない最初のコードブロックを選択します。すべてのコードブロックがhtmlタグより上にある場合は、最初のものが選択されます。上級ユーザーは、どのコードブロックが選択されるかを指定できます。

コードブロックの作成

Server Behavior Builderで作成したコードブロックは、Server Behaviorsパネルに表示されるサーバービヘイビアにカプセル化されます。コードは、指定されたサーバーモデルの任意の有効なランタイムコードにすることができます。例えば、カスタムサーバービヘイビアのドキュメントタイプとしてColdFusionを選択した場合、作成するコードはColdFusionアプリケーションサーバー上で動作する有効なColdFusionコードである必要があります。

コードブロックは、Server Behavior Builderで直接作成することも、他のソースからコードをコピーして貼り付けることもできます。Server Behavior Builderで作成する各コードブロックは、単一のタグまたはスクリプトブロックである必要があります。複数のタグブロックを挿入する必要がある場合は、それらを別々のコードブロックに分割してください。

コードブロックの条件

Dreamweaverでは、条件付きで実行される制御文を組み込んだコードブロックを開発できます。Server Behavior Builderはifelseifelse文を使用し、サーバービヘイビアパラメータを含めることもできます。これにより、サーバービヘイビアパラメータ間のOR関係の値に基づいて、代替テキストブロックを挿入できます。

次の例はifelseifelse文を示しています。角括弧([ ])はオプションのコードを示し、アスタリスク(*)は0個以上のインスタンスを示します。特定の条件が適用される場合にのみ、コードブロックの一部または全体を実行するには、次の構文を使用してください:

<@ if (expression1) @> conditional

text1[<@ elseif (expression2) @> conditional text2]*[<@ else @>

conditional text3]<@ endif @>

条件式は、JavaScripteval()関数を使用して評価できる任意のJavaScript式であり、@@で囲まれたサーバービヘイビアパラメータを含む場合があります。(@@は、パラメータをJavaScript変数やキーワードから区別します。)

条件式の効果的な使用

insertText XMLタグ内でifelseelseifディレクティブを使用する場合、参加者のテキストは前処理され、ifディレクティブが解決されて、結果に含めるテキストが決定されます。ifおよびelseifディレクティブは、引数として式を取ります。条件式はJavaScript条件式と同じであり、サーバービヘイビアパラメータも含むことができます。このようなディレクティブを使用することで、サーバー動作パラメータの値またはパラメータ間の関係に基づいて、代替コードブロックから選択することができます。

例えば、 次のJSPコードは、条件付き コードブロックを使用するDreamweaverサーバー動作からのものです:

@@rsName@@.close();

<@ if (@@callableName@@ != '') @>

@@callableName@@.execute();

@@rsName@@ = @@callableName@@.getResultSet();<@ else @>

@@rsName@@ = Statement@@rsName@@.executeQuery();

<@ endif @>

@@rsName@@_hasData = @@rsName@@.next();

条件付き コードブロックは<@ if (@@callableName@@ != '') @>で始まり、<@ endif @>で終わります。 コードによると、ユーザーがサーバー動作のパラメータダイアログボックスで@@callableName@@パラメータに値を入力した場合、 言い換えると、@@callableName@@パラメータの値がnullでない場合、 または(@@callableName@@ != '')の場合、条件付きコード ブロックは次のステートメントに置き換えられます:

@@callableName@@.execute();

@@rsName@@ = @@callableName@@.getResultSet();

それ以外の場合、 コードブロックは次のステートメントに置き換えられます:

@@rsName@@ = Statement@@rsName@@.executeQuery();

コードブロックの配置

Server Behavior Builderを使用してコードブロックを作成する場合、 ページのHTMLコードのどこに挿入するかを指定する必要があります。

例えば、開始<html>タグの上にコードブロックを挿入する場合、ページのHTMLコードのそのセクションにある他のタグ、スクリプト、サーバー動作に対するコードブロックの位置を指定する必要があります。典型的な例として、開く<html>タグの上のページコードに 存在する可能性のあるレコードセットクエリの前または後に 動作を配置することが含まれます。

Insert Codeポップアップ メニューから配置オプションを選択すると、Relative Positionポップアップメニューで 利用可能なオプションが変更され、ページのその部分に関連する オプションが提供されます。 例えば、 Insert Codeポップアップメニューで「Above The <html> Tag」を選択すると、 Relative Positionポップアップメニューで利用可能な配置オプションには、 ページのその部分に関連する選択肢が反映されます。

以下の表は、コードブロックの挿入オプションと、それぞれで利用可能な相対位置オプションを示しています。

「コードの挿入」オプション

「相対位置」オプション

<html> タグの上

  • ファイルの先頭

  • レコードセットのすぐ前

  • レコードセットのすぐ後

  • <html> タグのすぐ上

  • カスタム位置

</html> タグの下

  • ファイルの終わりの前

  • レコードセットのクローズの前

  • レコードセットのクローズの後

  • </html> タグの後

  • カスタム位置

特定タグに対する相対位置

タグポップアップメニューからタグを選択し、タグの配置オプションから選択します。

選択範囲に対する相対位置

選択範囲の前

選択範囲の後

選択を置換

選択範囲を囲む

カスタム位置を指定するには、コードブロックに重み付けを 割り当てる必要があります。 特定の順序で複数のコードブロックを挿入する必要がある場合は、 Custom Positionオプションを使用します。 たとえば、レコードセットを開くコードブロックの後に3つのコードブロックの順序付きシリーズを挿入するには、最初のブロックに60、2つ目に65、3つ目に70の重み付けを入力します。

デフォルトでは、Dreamweaverは <html> タグの上に挿入されたすべてのレコードセット開始コードブロックに50の太さを 割り当てます。 2つ以上のブロックの重み付けが一致する場合、Dreamweaverはランダムにブロック間の順序を設定します。

コードブロックの配置(一般的な 手順)

Server Behavior Builderを使用して、 コードブロックを書きます。
Server Behavior Builder ダイアログボックスで、Insert Code ポップアップメニューからコードブロックを挿入する位置を選択します。
Server Behavior Builder ダイアログボックスで、Insert Code ポップアップメニューで選択した位置に対する相対位置を選択します。
コードブロックのオーサリングが完了したら、 OKをクリックします。

サーバービヘイビアは、Server Behaviorsパネル(ウィンドウ/Server Behavior)にリストされます。プラス(+)ボタンをクリックしてサーバービヘイビアを表示します。

サーバービヘイビアーをテストし、正常に機能することを 確認します。

ページ上の別のタグに対してコードブロックを配置

Insert Codeポップアップメニューで、 Relative To A Specific Tagを選択します。
Tagボックスで、タグを入力するかポップアップメニューから1つ選択します。

タグを入力するときは、山カッコ(< >)を使用しないでください。

「Relative Position」ポップアップメニューでオプションを選択して、タグに対する相対位置を指定します。

ページデザイナーによって選択された タグに対するコードブロックの配置

「コードを挿入」ポップアップメニューで、「Relative To The Selection」を選択します。
Relative Position ポップアップメニューでオプションを選択して、選択範囲に対する相対位置を指定します。

選択範囲の直前または直後に コードブロックを挿入できます。 選択範囲をコードブロックで置き換えることも、 選択範囲の周りにコードブロックを配置することもできます。

選択範囲の周りにコードブロックを配置するには、 選択範囲は次のように間に何もない開始タグと終了タグで構成されている必要があります:

<CFIF Day="Monday"></CFIF>

コードブロックの開始タグ部分を選択範囲の開始 タグの前に挿入し、コードブロックの終了タグ部分を選択範囲の 終了タグの後に挿入します。

ループディレクティブによるコードブロックの繰り返し

コードブロックの一部または全体を 何度も繰り返すには、次の構文を使用します:

<@ loop (@@param1@@,@@param2@@) @> コード

block<@ endloop @>

サーバービヘイビアを作成する場合、ループ構造を使用して コードブロックを指定した回数だけ繰り返すことができます。<@ loop (@@param1@@,@@param2@@,@@param3@@,@@param_n@@) @> code block <@ endloop @>ループディレクティブは、引数としてパラメーター配列のコンマ区切りの リストを受け取ります。この場合、パラメーター配列 引数により、ユーザーは単一のパラメーターに複数の値を提供できます。 繰り返しテキストはn回複製され、nは パラメーター配列引数の長さです。複数のパラメーター 配列引数が指定されている場合、すべての配列の長さは同じである必要があります。ループのi番目の評価では、パラメーター配列のi番目の 要素がコードブロック内の関連するパラメーター インスタンスを置き換えます。

サーバービヘイビア用のダイアログボックスを作成する場合、 ページデザイナーがパラメーター配列を作成できるコントロールを ダイアログボックスに追加できます。Dreamweaverには、 ダイアログボックスの作成に使用できる 簡単な配列コントロールが含まれています。「Text Field Comma Separated List」と呼ばれるこの コントロールは、Server Behavior Builderを通じて利用できます。より複雑なユーザーインターフェイス要素を作成するには、APIドキュメントを参照して、配列を作成するコントロール(グリッドコントロールなど)を含むダイアログ ボックスを作成してください。

条件ディレクティブ内で任意の数の条件またはループディレクティブを ネストできます。例えば、式がtrueの場合にループを実行するよう指定できます。

次の例は、このような繰り返しコードブロックを使用してサーバービヘイビアを作成する方法を示しています(この例は、ストアドプロシージャにアクセスするために使用されるColdFusionビヘイビアです):

<@ loop (@@param1@@,@@param2@@,@@param3@@,@@param_n@@) @> code block

<@ endloop @>

<CFSTOREDPROC procedure="AddNewBook"

datasource=#MM_connection_DSN#

username=#MM_connection_USERNAME#

password=#MM_connection_PASSWORD#>

<CFPROCPARAM type="IN" dbvarname="@CategoryId" value="#Form.CategoryID#"

cfsqltype="CF_SQL_INTEGER">

<CFPROCPARAM type="IN" dbvarname="@ISBN" value="#Form.ISBN#"

cfsqltype="CF_SQL_VARCHAR">

</CFSTOREDPROC>

この例では、CFSTOREDPROCタグに ゼロ個以上のCFPROCPARAMタグを含めることができます。しかし、ループディレクティブのサポートがない場合、挿入されたCFSTOREDPROCタグ内にCFPROCPARAMタグを含める方法がありません。これをループディレクティブを使用せずにサーバービヘイビアとして作成する場合、この例を2つの参加者に分割する必要があります:メインのCFSTOREDPROCタグと、参加者タイプが複数であるCFPROCPARAMタグです。

ループディレクティブを使用すると、同じ手順を次のように記述できます:

<CFSTOREDPROC procedure="@@procedure@@"

datasource=#MM_@@conn@@_DSN#

username=#MM_@@conn@@_USERNAME#

password=#MM_@@conn@@_PASSWORD#>

<@ loop (@@paramName@@,@@value@@,@@type@@) @>

<CFPROCPARAM type="IN"

dbvarname="@@paramName@@"

value="@@value@@"

cfsqltype="@@type@@">

<@ endloop @>

</CFSTOREDPROC>

メモ

"@>" の後の新しい行は無視されます。

ユーザーがサーバービヘイビアビルダーダイアログボックスで次のパラメーター値を入力した場合:

procedure = "proc1"

conn = "connection1"

paramName = ["@CategoryId", "@Year", "@ISBN"]

value = ["#Form.CategoryId#", "#Form.Year#", "#Form.ISBN#"]

type = ["CF_SQL_INTEGER", "CF_SQL_INTEGER", "CF_SQL_VARCHAR"]

サーバービヘイビアは、ページに次の実行時コードを挿入します。

<CFSTOREDPROC procedure="proc1"

datasource=#MM_connection1_DSN#

username=#MM_connection1_USERNAME#

password=#MM_connection1_PASSWORD#>

<CFPROCPARAM type="IN" dbvarname="@CategoryId" value="#Form.CategoryId#"

cfsqltype="CF_SQL_INTEGER">

<CFPROCPARAM type="IN" dbvarname="@Year" value="#Form.Year#"

cfsqltype="CF_SQL_INTEGER">

<CFPROCPARAM type="IN" dbvarname="@ISBN" value="#Form.ISBN#"

cfsqltype="CF_SQL_VARCHAR">

</CFSTOREDPROC>

メモ

パラメーター配列は、条件付きディレクティブ式の一部として以外は、ループの外では使用できません。

ループディレクティブの _length 変数および _index 変数の使用

ループディレクティブには、埋め込まれたif条件で使用できる2つの組み込み変数が含まれています。この変数は、_length_index です。 _length変数は、ループディレクティブで処理される配列の長さを評価し、_index変数は、ループディレクティブの現在のインデックスを評価します。変数がディレクティブとしてのみ認識され、ループに渡される実際のパラメーターとして認識されないようにするため、どちらの変数も@@で囲まないでください。

組み込み変数を使用する例は、ページディレクティブのimport属性に適用することです。import属性では、パッケージをカンマで区切る必要があります。loopディレクティブがimport属性全体を囲む場合、ループの最初の反復でのみ属性名import=を出力し(これには閉じる二重引用符(")が含まれます)、ループの最後の反復ではカンマを出力しません。組み込み変数を使用すると、次のように表現することができます:

<@loop (@@Import@@)@>

<@ if(_index == 0)@>import="

<@endif@>@@Import@@<@if (_index == _length-1)@>"<@else@>,

<@ endif @>

<@endloop@>

サーバービヘイビアのパラメーターをリクエストする

サーバービヘイビアでは、ページデザイナーがパラメーター値を提供する必要があることがよくあります。この値は、サーバービヘイビアのコードがページに挿入される前に挿入する必要があります。

コード内でデザイナーが提供するパラメーターを定義することで、ダイアログボックスを作成します。次に、サーバービヘイビア用のダイアログボックスを生成し、ページデザイナーにパラメーター値の入力を求めます。

メモ

コードブロックに対して 介入なしにパラメーターが追加されます ページデザイナーが選択した特定のタグに相対的にコードを挿入するよう指定した場合 (つまり、コード挿入ポップアップメニューで「特定のタグに相対的」を選択した場合)。このパラメーターは、ビヘイビアのダイアログにタグメニューを追加して、ページデザイナーがタグを選択できるようにします。

サーバー ビヘイビアコードでパラメーターを定義する

提供されたパラメーター値を挿入したい場所のコードにパラメーターマーカーを入力します。パラメーターには以下の構文があります:

@@parameterName@@

formParam文字列をパラメーター マーカー(@@)で囲みます:

<% Session("lang_pref") = Request.Form("@@formParam@@"); %>

例えば、サーバービヘイビアに以下の コードブロックが含まれている場合:

<% Session("lang_pref") = Request.Form("Form_Object_Name"); %>

ページデザイナーにForm_Object_Nameの値の提供を 要求するには、文字列をパラメーターマーカー(@@)で囲みます:<% Session("lang_pref") = Request.Form("@@Form_Object_Name@@"); %>

<% Session("lang_pref") = Request.Form("@@Form_Object_Name@@"); %>

また、ストリングをハイライト表示してから、「コードブロックにパラメーターを挿入」ボタンをクリックすることもできます。 パラメーター名を入力して、「OK」をクリックします。 Dreamweaver によって、ハイライト表示されたストリングのすべてのインスタンスが、パラメーターマーカー内に指定したパラメーター名に置き換えられます。

Dreamweaver は、パラメーターマーカーで囲まれたストリングを使用して、生成するダイアログボックスのコントロールのラベルを指定します(以下の手順を参照してください)。 前述の例では、Dreamweaver は次のラベルを使用してダイアログボックスを作成します。

メモ

サーバービヘイビアーのコードのパラメーター名には、スペースは使用できません。 したがって、ダイアログボックスのラベルにはスペースを指定できません。 ラベルにスペースを含めるには、生成した HTML ファイルを編集します。

パラメーター名の入力

サーバー ビヘイビア用のダイアログボックスを作成してパラメーター値を要求する

Server Behavior Builderで 「次へ」をクリックします。
ダイアログボックスコントロールの表示順序を変更するには、 パラメーターを選択して上下の矢印をクリックします。
パラメーターのコントロールを変更するには、パラメーターを 選択して「表示形式」列で別のコントロールを選択します。
「OK」をクリックします。

Dreamweaverは、定義したデザイナー指定のパラメーターごとにラベル付きコントロールを持つダイアログボックスを生成します。

ダイアログボックスの表示

Server Behaviorsパネル(ウィンドウ > Server Behaviors)でプラス(+)ボタンをクリックし、 ポップアップメニューからカスタムサーバービヘイビアを選択します。

サーバービヘイビア用に作成した ダイアログボックスを編集する

Server Behaviorsパネル(ウィンドウ > Server Behaviors)でプラス(+)ボタンをクリックし、 ポップアップメニューから「Edit Server Behaviors」を選択します。
リストからサーバービヘイビアを選択し、「開く」を クリックします。
「次へ」をクリックします。

コードで定義したすべてのデザイナー提供 パラメーターのリストを表示するダイアログボックスが表示されます。

ダイアログボックスコントロールの表示順序を変更するには、 パラメーターを選択して上下の矢印をクリックします。
パラメーターのコントロールを変更するには、パラメーターを 選択して「表示形式」列で別のコントロールを選択します。
「OK」をクリックします。

サーバービヘイビアーの編集と修正

Server Behavior Builderで作成されたサーバービヘイビア、 Dreamweaver Exchangewebサイトからダウンロードしたサーバービヘイビア、 その他のサードパーティデベロッパーからのサーバービヘイビアを含む あらゆるサーバービヘイビアを編集できます。

サーバービヘイビアをページに適用してから、Dreamweaverでビヘイビアを編集すると、古いビヘイビアのインスタンスはサーバービヘイビアパネルに表示されなくなります。サーバービヘイビアパネルは、既知のサーバービヘイビアのコードと一致するコードをページ内で検索します。サーバービヘイビアのコードが変更されると、パネルはそのページ上の以前のバージョンのビヘイビアを認識しません。

パネルで古いバージョンと新しいバージョンの両方のビヘイビアを保持します

サーバービヘイビアパネル(ウィンドウ/サーバービヘイビア)のプラス(+)ボタンをクリックし、新規サーバービヘイビアを選択して、古いサーバービヘイビアのコピーを作成します。

Server Behavior Builder で作成されたサーバービヘイビアのコードを編集します

サーバービヘイビアパネル(ウィンドウ/サーバービヘイビア)でプラス(+)ボタンをクリックし、ポップアップメニューから「サーバービヘイビアを編集」を選択します。

「サーバービヘイビアを編集」ダイアログボックスには、現在のサーバーテクノロジー用のすべてのビヘイビアが表示されます。

サーバービヘイビアーを選択し、「編集」をクリックします。
適切なコードブロックを選択し、コード、パラメーターマーク、またはページに挿入するコードブロックの位置を変更します。
変更されたコードにDesigner指定のパラメーターが含まれていない場合は、「OK」をクリックします。

Dreamweaverは、ダイアログボックスを使用せずにサーバービヘイビアを再生成します。新しいサーバービヘイビアは、サーバービヘイビアパネルのプラス(+)ポップアップメニューに表示されます。

変更されたコードにDesigner指定のパラメーターが含まれている場合は、「次へ」をクリックします。

Dreamweaverは、新しいダイアログボックスを作成して古いダイアログボックスを上書きするかどうかを確認します。変更を行い、「OK」をクリックします。

Dreamweaverは、サーバービヘイビアのEDMLファイルにすべての変更を保存します。

コーディングのガイドライン

一般的に、サーバーの動作のコードはコンパクトで堅牢である必要があります。webアプリケーション開発者は、ページに追加されるコードに非常に敏感です。ドキュメントタイプの言語(ColdFusion、JavaScript、VBScript、またはPHP)で一般的に受け入れられているコーディング手法に従ってください。コメントを書く際は、webやインタラクションデザイナー、他のwebアプリケーション開発者など、コードを理解する必要がある様々な技術的オーディエンスを考慮してください。コードの目的を正確に説明し、ページ内に含める際の特別な指示があれば、それを含むコメントを記述します。

サーバービヘイビアを作成する際は、以下のコーディングガイドラインに留意してください:

エラーチェック

重要な要件。 サーバービヘイビアのコードは、エラーケースを適切に処理する必要があります。あらゆるエラーの可能性を予測する努力が必要です。 例えば、パラメーターリクエストが失敗した場合はどうなりますか?クエリからレコードが返されない場合はどうなりますか?

固有の名前

コードが明確に識別でき、既存のコードとの名前の競合を回避できるようにします。例えば、ページにhideLayer()という関数とERROR_STRINGというグローバル変数が含まれており、サーバービヘイビアーがこれらの名前を使用するコードを挿入する場合、サーバービヘイビアーが既存のコードと競合する可能性があります。

コード接頭辞

ページ内で独自の実行時関数とグローバル変数を識別できるようにします。よく使用される方法として、自分のイニシャルを接頭辞として追加する方法があります。 MM_接頭辞は絶対に使用しないでください。これはDreamweaver専用に予約されています。Dreamweaverは、作成したコードとの競合を防ぐために、すべての関数とグローバル変数にMM_接頭辞を付けます。

var MM_ERROR_STRING = &quot;...&quot;;

function MM_hideLayer() {

類似したコードブロックを作成しない

作成するコードが他のブロックのコードと似すぎないようにします。コードブロックがページ内の別のコードブロックと似すぎている場合、サーバービヘイビアーパネルが最初のコードブロックを2番目のコードブロックのインスタンス(またはその逆)として誤って識別する可能性があります。簡単な解決策は、コードブロックにコメントを追加してより一意にすることです。

サーバービヘイビアーのテスト

Dreamweaver Exchangeでは、作成する各サーバービヘイビアーで次のテストを実行することを推奨しています:

  • サーバービヘイビアーパネルでビヘイビアーを適用します。 ダイアログボックスがある場合は、各フィールドに有効なデータを入力してOKをクリックします。ビヘイビアーを適用したときに、エラーが発生しないかどうかを確認します。 サーバービヘイビアーの実行時コードがコードインスペクターに表示されることを確認します。

  • サーバービヘイビアーを再度適用し、ダイアログボックスの各フィールドに無効なデータを入力します。フィールドを空白のままにしたり、大きな数値や負の数値を使用したり、無効な文字(/、?、:、*など)を使用したり、数値フィールドに文字を使用したりしてみてください。無効なデータを処理するためのフォーム検証ルーチンを作成できます(検証ルーチンには手動でのコーディングが必要で、これはこの書籍の範囲を超えています)。

    サーバービヘイビアーをページに正常に適用した後、以下を確認します:

  • サーバービヘイビアーパネルを確認し、サーバービヘイビアーの名前がページに追加されたビヘイビアーのリストに表示されることを確認します。

  • 該当する場合は、サーバーサイドスクリプトアイコンがページに表示されることを確認します。一般的なサーバーサイドスクリプトのアイコンは、金の盾の形です。 アイコンを表示するには、不可視エレメントを有効にします(表示 > ビジュアル補助 > 不可視エレメント)。

  • コードビューで(表示 > コード)、無効なコードが生成されていないことを確認します。

    さらに、サーバービヘイビアーがドキュメントにデータベースへの接続を確立するコードを挿入する場合は、ドキュメントに挿入されたコードをテストするためのテストデータベースを作成します。異なるデータセットや異なるサイズのデータセットを生成するクエリを定義して、接続を確認します。

    最後に、ページをサーバーにアップロードし、ブラウザーで開きます。ページのHTMLソースコードを表示し、サーバーサイドスクリプトによって無効なHTMLが生成されていないことを確認します。