スクリプト言語を使用する

Visual Basic、C++、および Java などのプログラミング言語は、コンピュータのリソースへの低レベルのアクセスを提供し、複雑で大規模なプログラムの作成に使用されます。一方、スクリプト言語は、Web サーバーやブラウザで Web サイトの機能を実行するように限定された、"スクリプト" と呼ばれるプログラムを作成するために使用されます。複雑なプログラミング言語と異なり、スクリプト言語は "インタプリタ型" の言語で、"コマンド インタプリタ" と呼ばれる中間プログラムによって命令ステートメントが順に実行されます。インタプリタ処理を行うと実行効率は低下しますが、スクリプト言語は習得しやすく強力な機能を備えています。スクリプトは、HTML ページに埋め込んでコンテンツの書式を設定したり、高度なビジネス ロジックをカプセル化する COM コンポーネントを実装するために使用したりすることができます。

Active Server Pages を使うと、Web 開発者はサーバー上で実行されるスクリプトをさまざまなスクリプト言語で記述できます。つまり、1 つの .asp ファイルの中で複数のスクリプト言語を使用することができます。また、スクリプトの読み取りと処理はサーバー側で行われるため、.asp ファイルを要求するブラウザがスクリプティングをサポートしている必要はありません。

スクリプト言語は、対応するスクリプト エンジンが Web サーバー上にインストールされていれば、任意のものを使用できます。"スクリプト エンジン" とは、特定の言語で記述されたコマンドを処理するプログラムのことです。Active Server Pages には、Microsoft Visual Basic Scripting Edition (VBScript) と Microsoft JScript の2 つのスクリプト エンジンが付属しています。REXX、PERL、および Python などのその他のスクリプト言語用のエンジンも、インストールして使用することができます。

既に Visual Basic でプログラムを作成した経験があれば、Visual Basic のサブセットである VBScript はすぐに使い始めることができます。Java、C、または C++ と JScript の構文は似ていますが、JScript は Java や C と直接は関係ありません。

REXX、Perl、または Python などのその他のスクリプト言語に習熟している場合は、対応するスクリプト エンジンを入手してインストールすれば、既に知っている言語を使用できます。Active Server Pages は、COM スクリプティング ホストです。ある特定の言語を使用するには、COM スクリプティングの標準に従い、Web サーバー上に COM (Component Object Model) オブジェクトとして常駐するスクリプト エンジンをインストールする必要があります。

主要スクリプト言語を設定する

ASP の "主要スクリプト言語" は、デリミタ <% と %> で囲まれた部分のコマンドを処理するのに使われる言語のことです。特に指定しない限り、VBScript が主要スクリプト言語になります。スクリプト エンジンがあれば、主要スクリプト言語として任意のスクリプト言語を使用できます。主要スクリプト言語は、ページ単位または ASP アプリケーションのすべてのページを対象として設定できます。

アプリケーションの言語を設定する

アプリケーション内のすべてのページに対して主要スクリプト言語を設定するには、インターネット インフォメーション サービス スナップインの [アプリケーションのオプション] タブで、[既定の ASP の言語] プロパティを設定します。詳細については、「ASP アプリケーションを構成する」を参照してください。

ページの言語を設定する

あるページにのみ使用する主要スクリプト言語を設定するには、.asp ファイルの先頭に <%@ LANGUAGE %> ディレクティブを追加します。このディレクティブの構文は、次のとおりです。

<%@ LANGUAGE=ScriptingLanguage %>

ScriptingLanguage には、このページに設定する主要スクリプト言語を指定します。ページに対する設定は、アプリケーションのすべてのページに対するグローバルな設定より優先されます。

ASP ディレクティブは、ガイドラインに従って使用してください。詳細については、「ASP ページを作成する」を参照してください。

   Object.Method の構文をサポートしていない言語を主要スクリプト言語として設定するには、LanguageEngines レジストリ キーを作成する必要があります。詳細については、「レジストリについて」を参照してください。

サーバー上で VBScript と JScript を使用する

サーバー上で ASP と組み合わせて VBScript を使用する場合は、VBScript の 2 つの機能が無効になります。Active Server Pages で記述されたスクリプトはサーバー上で実行されるため、ユーザー インターフェイスの要素を表示する VBScript のステートメント、InputBox および MsgBox はサポートされません。また、VBScript の関数 CreateObjectGetObject はサーバー側のスクリプトでは使用しないでください。代わりに Server.CreateObject を使用し、ASP がオブジェクトのインスタンスを追跡できるようにします。CreateObject または GetObject によって作成されたオブジェクトは、ASP の組み込みオブジェクトにアクセスすることができず、トランザクションに参加することはできません。例外は、IIS の Admin オブジェクトを使用する場合、および Java モニカを使用する場合です。詳細については、「IIS Admin オブジェクトを使用する」および「Java クラスからオブジェクトを作成する」を参照してください。

VBScript と JScript の演算子、関数、ステートメント、オブジェクト、プロパティ、およびメソッドの一覧と説明については、「VBScript ランゲージ リファレンス」と「JScript ランゲージ リファレンス」を参照してください。このリファレンスは、Windows Script Technologies の Web サイトにあります。

コメントを挿入する

ASP では、すべてのスクリプトの処理はサーバー側で行われます。このため、一般的なクライアント側スクリプトのように、スクリプトをサポートしていないブラウザにスクリプトが表示されるのを避けるために HTML コメント タグでスクリプトを隠す必要はありません。すべての ASP コマンドは、ブラウザにコンテンツが送信される前に処理されます。HTML コメントは、HTML ページに注釈を付け加えるために使用できます。追加したコメントはブラウザに返され、ユーザーが HTML のソースを表示すると見ることができます。

VBScript のコメント

VBScript では、一重引用符形式のコメントがサポートされています。HTML のコメントとは異なり、VBScript のコメントはスクリプトが処理されるときに削除され、ブラウザには送信されません。

<% 
  'This line and the following two are comments. 
  'The PrintTable function prints all 
  'the elements in an array. 
  PrintTable MyArray() 
%>

出力式の中にコメントを記述することはできません。たとえば、次の例の 1 行目は正しく動作しますが、2 行目は <%= で始まるため正しく動作しません。

<% i = i +1 'This statement increments i. (This script will work.) %> 

<%= name 'This statement prints the variable name. (This script will fail.) %>

JScript のコメント

JScript では、コメント文字 // がサポートされています。コメント文字はコメント行ごとに使用します。

<%
  var x
  x = new Date() 
  // This line sends the current date to the browser, 
  // translated to a string.
  Response.Write(x.toString()) 
%>

大文字と小文字の区別

VBScript では、大文字と小文字は区別されません。たとえば、Requestrequest のどちらを使用しても、ASP の Request オブジェクトを参照することができます。ただし、大文字と小文字が区別されないため、変数名を大文字と小文字の違いで区別することはできません。たとえば、Color と color を別の変数として作成することはできません。

JScript では、大文字と小文字が区別されます。スクリプトで JScript のキーワードを使用するときは、そのキーワードのリファレンス ページに示されているとおりに入力する必要があります。たとえば、Date の代わりに date を使うと、エラーが発生します。このヘルプで ASP の組み込みオブジェクトに関して使われている大文字小文字の区別は、JScript コマンドでも動作します。


© 1997-2001 Microsoft Corporation.All rights reserved.