<%@ LANGUAGE = VBScript %> モジュール 1: ASP ページの作成

モジュール 1: ASP ページの作成

このモジュールでは、自分で ASP ページ (.asp ファイル) を作成して、ASP の基本的な機能のいくつかを学びます。ここでの作業で使うサンプル ファイルは、Active Server Pages のサンプル ディレクトリ (デフォルトでは <%= Request.ServerVariables("SERVER_NAME")%>\InetPub\ASPSamp\Tutorial) の Tutorial\Lessons ディレクトリにあります。作成したファイルも同様に Tutorial\Lessons ディレクトリに保存してください。

注意   このモジュールで作業結果を保存したり表示したりするためには、Web サーバー上、または Web サーバー上で書き込みおよび実行のアクセス権が設定されているリモート ディレクトリ共有上に、Active Server Pages がインストールされている必要があります。


作業 1: 簡単な ASP ページの作成

ASP ページに慣れるために、まず実際に作成してみましょう。ASP ページを作成するには、テキスト エディタを使ってスクリプト コマンドを HTML ページに挿入します。作成したページをファイル名拡張子 .asp で保存すると、ASP によってスクリプト コマンドが処理されます。そして、Web ブラウザでそのページを開くだけでスクリプトの実行結果を見ることができます。この作業では "Hello World!" という言葉を表示するスクリプトを作成しますが、これには HTML と ASP のスクリプト コマンドをこのチュートリアルからテキスト エディタにコピーし、ファイルとして保存します。そしてそのファイルをブラウザで開けば、スクリプトの出力結果を見ることができます。

次の HTML コマンドは、"Hello World!" という言葉を大きいフォントで表示する、簡単なページを作成します。

<HTML> 
<BODY>
<FONT SIZE=7> 
Hello World!<BR> 
</FONT> 
</BODY>
</HTML> 

このテキストを何回も繰り返し表示して、そのたびにフォントのサイズが大きくなるようにしたい場合には、フォント タグと HTML テキストを繰り返し指定して、そのたびに HTML テキストに異なるフォント サイズを指定します。このような HTML ページを作成してブラウザで開くと、その行が何回も表示されます。

または、ASP の機能を使い、より効率的な方法で同じコンテンツを生成することもできます。

ページの作成と保存

  1. メモ帳などのテキスト エディタか、または Microsoft(R) Word などのワード プロセッサで始めます。テキスト エディタのウィンドウとブラウザのウィンドウが両方見えるように位置を決めます。

  2. 次の HTML タグをコピーしてファイルの先頭に貼り付けます。
    <HTML><BODY> 
  3. 作成した文書を Hello.asp という名前で Lessons ディレクトリ (デフォルトでは <%= Request.ServerVariables("SERVER_NAME")%>\InetPub\ASPSamp\Tutorial\Lessons) に保存します。ワードパッドなどのワード プロセッサを使っている場合は、必ずテキスト形式でファイルを保存してください。ASP ページを正しく動作させるには、必ず .asp という拡張子を付ける必要があります。

    以前にほかのユーザーがチュートリアルのこの部分を既に修了している場合は、"ファイル Hello.asp が既に存在します" というメッセージが表示され、ファイルを置き換えるかどうかをたずねてきますので、新しい Hello.asp に置き換えてください。

  4. <BODY> タグの後に新しい行を記述し、次のスクリプト コマンドをコピーして貼り付けます。

    <% For i = 3 To 7 %>

    スクリプト コマンドは、区切り記号と呼ばれる <% および %> という文字列で囲みます。区切り記号の中のテキストはスクリプト コマンドとして処理され、閉じ記号の後のテキストはふつうの HTML テキストとしてブラウザに表示されます。このスクリプト コマンドは、"Hello World" という語句を表示する回数を決める VBScript のループです。ループの 1 回目では、カウンタ (i) が 3 に設定されます。2 回目以降ループが繰り返され、2 回目ではカウンタは 4 に設定されます。そして、カウンタが 7 を超えるまでループが繰り返されます。

  5. Enter キーを押してから、次の行をコピーして貼り付けます。

    <FONT SIZE=<% = i %>>

    ループが繰り返されるたびに、フォント サイズがカウンタ (i) の現在値に設定されます。この結果、1 回目ではフォント サイズが 3 になり、2 回目では 4 になり、最後のループでは 7 になります。スクリプト コマンドは HTML タグの中で囲むこともできることに注意してください。

  6. Enter キーを押してから、次の行をコピーして貼り付けます。
    Hello World!<BR> 
    <% Next %>
    </BODY>
    </HTML>

    VBScript Next 式によって、カウンタが 7 を超えるまでループが繰り返されます。

  7. 完成したファイル (Hello.asp) のスクリプトは次のようになります。
    <HTML>
    <BODY>
    <% For i = 3 To 7 %> 
    <FONT SIZE=<% = i %>> 
    Hello World!<BR> 
    <% Next %> 
    </BODY> 
    </HTML>
    
  8. 変更内容を保存します。ファイルは必ずテキスト形式で保存し、ファイル名拡張子を .asp にします。

    テキスト エディタの中には、[ファイルの保存] ダイアログ ボックスで [テキスト形式] を選んだときにファイル名拡張子が自動的に .txt に変更されてしまうものがあります。このような場合は、拡張子を .txt から .asp に変えてから [保存] をクリックしてください。

  9. テキスト エディタを終了します。ブラウザによっては、HTML ページを開こうとしたときにテキスト エディタで同時に開いている場合読み取ることができないことがあります。


  10. 作業の結果を確かめる、ブラウザを /aspsamp/tutorial/lessons/hello.asp"> http://<%= Request.ServerVariables("SERVER_NAME")%>/aspsamp/tutorial/lessons/hello.asp にポイントします (結果を確かめたら、ブラウザの [戻る] ボタンをクリックしてこのチュートリアルに戻ることができます)。

    作業が正しければ、Web ページに "Hello World!" が 5 回、フォント サイズがだんだん大きくなって表示されます。

おめでとうございます ! はじめて ASP ページを作ることができました。ここで学んだように、ASP ページの作成作業はとても簡単です。自分の使いやすいテキスト エディタを使って、HTML のコンテンツと (<% および %> の区切り記号で囲まれた) ASP のスクリプト コマンドを作成できます。ただし、ファイル名拡張子を必ず .asp にすることを忘れないようにしてください。ページが正しく表示されるかどうかを確かめるには、Web ブラウザでそのページを開きます (または前に開いたページを更新します)。


作業 2: HTML フォームの作成

イントラネットおよびインターネットのサーバー アプリケーションの主な役割は、ブラウザから送信されたフォームの処理です。従来は、フォームから送信されたデータを処理するために専用のプログラムを作成する必要がありましたが、ASP では、VBScript や JScript などで記述したスクリプトを HTML ファイルに直接埋め込むことによってフォームを処理できるようになりました。ASP はスクリプトを読み取り、コマンドを実行して、その結果をブラウザに返します。

今回の作業では、ユーザーが HTML フォームを通じて送信したデータを処理する ASP ページを作成します。

.asp ファイルがどのように動作するのかを見るには、下のフォームに入力を行ってください。Tab キーを押すとフォーム内を移動できます。[送信] ボタンをクリックすると、入力したデータが Web サーバーに送られ、ASP によってそのデータが処理されます。



フォームの作成

Lessons ディレクトリにあるファイル Form.htm で、ユーザーに情報を要求する次のフォームが既に作成されています。

<HTML>
<HEAD><TITLE>注文</TITLE></HEAD>

<BODY>
<H2>注文フォームのサンプル</H2>
<P>
次の各情報を入力し、終わったら [送信] をクリックしてください。

<FORM METHOD="POST" ACTION="response.asp">
<P>
姓名: <INPUT NAME="lname" SIZE="48">
<P>
名前: <INPUT NAME="fname" SIZE="48">
<P>
性別: <INPUT NAME="title" TYPE=RADIO VALUE="mr">
<INPUT NAME="title" TYPE=RADIO VALUE="ms">

<P><INPUT TYPE=SUBMIT><INPUT TYPE=RESET>
</FORM>

</BODY>

</HTML>

このフォームもほかのフォームと同じように、データを変数と値のペアとして Web サーバーに送信します。たとえば、ユーザーが [名前] テキスト ボックスに入力した名前は、fname という変数に割り当てられます。ASP では、フォームから送信された変数名と値にアクセスするために、組み込みオブジェクトを使うことができます。

ASP 応答ページの作成

  1. テキスト エディタで Lessons ディレクトリ (デフォルトでは <%= Request.ServerVariables("SERVER_NAME")%>\InetPub\ASPSamp\Tutorial\Lessons) にある Response.asp ファイルを開きます。

    このファイルには、Web サーバーがクライアント ブラウザに返す HTML ページがあります。このページに、フォームからの情報を処理するための ASP スクリプト コマンドを追加します。

  2. "チュートリアル レッスン" というコメントを探し、次のスクリプト行をコピーしてそのコメントの下に貼り付けます。
    <% 
    Title = Request.Form("title") 
    以前にほかのユーザーがチュートリアルのこの部分を既に修了している場合は、"チュートリアル レッスン" というコメントの下にこのスクリプト コマンドが既に挿入されていますので、コピーしたスクリプトを貼り付けて上書きしてください。

    このフォームは次の 3 つの情報を ASP に送信します。
    • lname
    • fname
    • title

    ASP は、HTML フォームから送信された情報を、Request オブジェクトの Forms コレクションに格納します (オブジェクトおよびフォームの詳細については、「スクリプト ガイド」および「オブジェクト リファレンス」を参照してください)。Request オブジェクトから情報を取得するには、「Request.collection-name ("property-name")」と入力します。ここでは Request.Form ("title") とすれば、ユーザーが入力した値に応じて mr または ms のどちらかの値を取得できます。

  3. 次のスクリプト行をコピーし、手順 2 で挿入した行の直後に貼り付けます。
        
    LastName = Request.Form("lname")
    If Title = "mr" Then 
    %>  
    <%= LastName %> 殿 
    <% ElseIf Title = "ms" Then %> 
    <%= LastName %> さん 
    

    以前にほかのユーザーがチュートリアルのこの部分を既に修了している場合は、このスクリプト行が既に挿入されていますので、コピーしたスクリプトを貼り付けて上書きしてください。

    VBScript の If...Then ステートメントは、Title の値に応じて 2 つの異なる動作を実行します。Titlemr であればユーザーは "〜殿" と表示され、Titlems であればユーザーは "〜さん" と表示されます。変数の値は <%= variable-name %> という式を使って表示します。

  4. ユーザーが性別を選ばなかった場合に姓名と名前を両方表示するため、次のスクリプト行をコピーし、手順 3 で挿入した行の直後に貼り付けます。
    <% Else %>
    <%=LastName & " " & Request.Form("fname") %>
    <% End If %> 
    

    以前にほかのユーザーがチュートリアルのこの部分を既に修了している場合は、このスクリプト行が既に挿入されていますので、コピーしたスクリプトを貼り付けて上書きしてください。

    アンパサンド (&) によって、変数の値が 1 つの文字列に連結されます。End If ステートメントは条件ステートメントの終わりを示します。

  5. 変更内容を Response.asp に保存してテキスト エディタを終了します。拡張子は必ず .asp のままにしておきます。

  6. 作成したフォームが正しく動作するかどうかを確かめるため、ブラウザを /aspsamp/tutorial/lessons/form.htm">http://<%= Request.ServerVariables("SERVER_NAME")%>/aspsamp/tutorial/lessons/form.htm にポイントします (結果を確かめたら、ブラウザの [戻る] ボタンをクリックしてこのチュートリアルに戻ることができます)

おめでとうございます ! はじめて作成した HTML フォームが正しく動きました。「モジュール 2: ActiveX サーバー コンポーネントの使用」では、ActiveX サーバー コンポーネントについて学びます。


(C) 1996-1997 Microsoft Corporation. All rights reserved.