スクリプト言語は、HTML と Java、C++、Visual Basic などのプログラミング言語の中間の言語です。 HTML は、テキストのフォーマットや Web ページへのリンクによく使用されます。プログラミング言語は、複雑な一連の命令をコンピューターに送信するためによく使用されます。スクリプト言語を使用してコンピュータに命令を送信することもできますが、その構文と規則はコンパイル可能なプログラミング言語ほど厳密で複雑ではありません。スクリプト言語は主に、テキストの書式設定や、プログラミング言語で記述されたコンパイル済みコンポーネントの使用に使用されます。
Active Server Pages を使用すると、Web 開発者はさまざまなスクリプト言語で完全なプロセスを作成できます。実際、単一の .asp ファイル内で複数のスクリプト言語を使用できます。さらに、スクリプトはサーバー側で読み取られて処理されるため、.asp ファイルを要求するクライアント ブラウザーはスクリプトをサポートする必要がありません。
対応するスクリプト エンジンが Web サーバーにインストールされている任意のスクリプト言語を使用できます。スクリプト エンジンは、特定の言語で記述されたコマンドを処理するプログラムです。 Active Server Pages には、Microsoft Visual Basic Scripting Edition (VBScript) と Microsoft JScript という 2 つのスクリプト エンジンが付属しています。 REXX や Perl などの他のスクリプト言語エンジンをインストールして使用することもできます。
すでに Visual Basic プログラマである場合は、Visual Basic のサブセットである VBScript をすぐに使用できます。 Java、C、または C++ プログラマであれば、JScript は Java や C とは関係ありませんが、JScript 構文は馴染みのあるものであることがわかります。
REXX や Perl などの別のスクリプト言語に精通している場合は、対応するスクリプト エンジンを入手してインストールすると、使い慣れたスクリプト言語を使用できるようになります。 Active Server Pages は、ActiveX スクリプトのホストです。言語を使用するには、スクリプト エンジンをインストールする必要があります。このエンジンは、ActiveX スクリプト標準に準拠し、COM (コンポーネント オブジェクト モデル) オブジェクトとして Web サーバー上に存在する必要があります。
メインスクリプト言語を設定する
ASP のメイン スクリプト言語は、区切り文字 <% および %> 内のコマンドを処理するために使用される言語です。デフォルトでは、主要なスクリプト言語は VBScript です。スクリプト エンジンを備えた任意のスクリプト言語をメインのスクリプト言語として使用できます。ページごとにプライマリ スクリプト言語を設定することも、ASP アプリケーションのすべてのページにプライマリ スクリプト言語を設定することもできます。
ページの言語を設定する
単一ページのメイン スクリプト言語を設定するには、<%@ LANGUAGE %> ディレクティブを .asp ファイルの先頭に追加します。このディレクティブの構文は次のとおりです。
<%@ LANGUAGE=ScriptingLanguage %>
このうち、ScriptingLanguage は、設定したページのメインのスクリプト言語です。ページに設定すると、アプリケーション内のすべてのページのグローバル設定が無視されます。
ASP ディレクティブの使用手順に従ってください。
注 Object.Method 構文をサポートしない言語をメインのスクリプト言語として使用するには、まず LanguageEngines レジストリ キーを作成する必要があります。
アプリケーションの言語を設定する
アプリケーションですべてのページのメイン スクリプト言語を設定するには、インターネット サービス マネージャーの [アプリ オプション] タブで [デフォルトの ASP 言語] プロパティを設定します。
サーバー上での VBScript と JScript の使用
ASP を介してサーバー側で VBScript を使用する場合、2 つの VBScript 機能が無効になります。 Active Server Pages スクリプトはサーバー側で実行されるため、ユーザー インターフェイスの要素を表す VBScript ステートメントの InputBox および MsgBox はサポートされません。また、サーバーサイド スクリプトでは、VBScript 関数の CreateObject および GetObject を使用しないでください。代わりに、ASP がオブジェクト インスタンスを追跡できるように Server.CreateObject を使用します。 CreateObject または GetObject で作成されたオブジェクトは、ASP 組み込みオブジェクトにアクセスできず、トランザクションに参加することもできません。このルールの例外は、Admin オブジェクトと Java モニカを使用している場合です。
コメントが含まれています
ASP スクリプトはサーバー側で処理されるため、クライアントのブラウザがスクリプト言語をサポートしていない場合でも、クライアント側スクリプトの場合のように、HTML コメント タグを含めてスクリプトを非表示にする必要はありません。すべての ASP コマンドは、コンテンツがブラウザーに送信される前に処理されます。 HTML コメントを使用して、HTML ページにコメントを追加できます。コメントはブラウザに返され、ユーザーが HTML ソース ファイルを参照すると表示されます。
VBScript のコメント
VBScript はアポストロフィ コメントをサポートしています。 HTML コメントとは異なり、コメントはブラウザーに送信されるのではなく、スクリプトが処理されるときに削除されます。
<%
'この行と次の 2 行はコメントです。
'PrintTable 関数はすべてを印刷します
'配列内の要素。
PrintTable(myarray()) を呼び出す
%>
出力式にはコメントを含めることはできません。たとえば、以下の最初の行は正常に動作しますが、2 行目は <%= で始まるため動作しません。
<% i = i +1 'これにより i が増加します。%>
<%= name 'このスクリプトは失敗します。%>
JScriptのコメント
JScript は // コメント文字をサポートしています。このコメント文字はすべてのコメント行で使用する必要があります。
<% PrintDate を呼び出す %>
<SCRIPT LANGUAGE=JScript RUNAT=サーバー>
// これは、PrintDate プロシージャの定義です。
関数 PrintDate()
{
変数x
x = 新しい日付()
// この行は現在の日付をブラウザに送信します。
// 文字列に変換されます。
Response.Write(x.toString())
}
</スクリプト>
大文字と小文字の区別
VBScript では大文字と小文字が区別されません。たとえば、Request または request を使用して ASP Request オブジェクトを参照できます。大文字と小文字を区別しないことにより、変数名を区別するために大文字と小文字を使用できなくなります。たとえば、Color と color という名前の 2 つの別々の変数を作成することはできません。
JScript では大文字と小文字が区別されます。スクリプト内で JScript キーワードを使用するには、リファレンス ページに示されている大文字と小文字を区別して記述する必要があります。たとえば、Date の代わりに date を使用すると、エラーが発生します。 JScript では、オブジェクト名は大文字にする必要があり、メソッド名とプロパティ名は大文字でも小文字でも使用できます。この記事で示した ASP 組み込みオブジェクトの場合は、JScript コマンドで正常に動作します。