2.2 文字列の送信

■ Response.Write文

ここで簡単なスクリプトを記述してみます。スクリプトはいろんな処理を実行しますが、結果的にはクライアントにHTMLタグによる文字列を動的に生成し送信します。そこでスクリプトの中ではきわめて基本的なクライアントに文字列を送信するスクリプトを記述してみましょう。このスクリプトは次のように記述します。

Rsponse.Write "送信文字列"

これは、RequestオブジェクトWriteメソッドと呼ばれる機能です。一見むずかしそうですが、ここではクライアントに文字列を送信するには、このように記述すればいいんだと覚えておけばいいでしょう。送信文字列の長さは任意です。半角英数字のみでなく、全角のひらがな、漢字や記号も記述可能です。ただし、送信文字列の両端を(")ダブルクォーテーションで囲む必要があります。ダブルクォ-テーションはスクリプトの一部ですから半角で記述します。

【注意】

文字列を示すための両端の(")ダブルクォーテーションの記述は忘れやすいの注意しましょう。

リスト2.6 hello2.asp

01 <%@ LANGUAGE="VBScript" %>
02 <HTML>
03 <HEAD>
04 <TITLE>hello2.asp</TITLE>
05 </HEAD>
06 <BODY>
07 <%
08 Response.Write "今日は<BR>"
09 %>
10 </BODY>
11 </HTML>

 エディタ上では、図2.8のように記述します。

図2.8

 このASPファイルにアクセスした結果表示されるWebページは、図2.9のようになります。図2.6と同じです。ちなみに、このWebページのHTML表示をみてみると図2.10となっています。つまり、スクリプト領域の

<%
Response.Write "今日は<BR>"
%>

の部分はスクリプトエンジンで解釈・実行されて、その結果

"今日は<BR>"

の文字列をクライアントに送信していたことがわかります。

図2.9

図2.10

■ Response.Writeのショートカット
 Response.Writeには簡略化して表記できるショートカットが存在します。それは"="の1文字です。つまり、スクリプト

  <% Response.Write "今日は<BR>" %>

は、

  <% = "今日は<BR>" %>

と簡略化して書くことが可能です。

【注意】

ただ、このショートカットは、一対のデリミタ"<%"と"%>"の間では1回しか使うことができません。したがって、

<% 
Response.Write "今日は<BR>" 
Response.Write "山田です<BR>"
%>

の部分は、

<% 
= "今日は<BR>" 
= "山田です<BR>"
%>

と1対のデリミタ内で2回"="を使うことはできず、

<% = "今日は<BR>" %>
<% = "山田です<BR>" %>

のように記述する必要があります。

 また、文字列の部分には後に述べる変数や式あるいは関数を使用することが可能です。

行と文

 スクリプト領域では、文は1行に1個のみ記述できます。ただし、2個以上の文を記述する場合は、各文の間に":"(コロン)を記述します。たとえば、

<% 
Response.Write "今日は<BR>" 
Response.Write "山田です<BR>"
%>

は1行で各場合は、次のように記述します。

<% 
Response.Write "今日は<BR>" : Response.Write "山田です<BR>"
%>

文字列の結合

 このスクリプトは、次のように記述しても同じ結果がえられます。

<% 
Response.Write "今日は<BR>" & "山田です<BR>"
%>

"&"は二つの文字列を結合する演算子です。つまり

"今日は<BR>" & "山田です<BR>"

"今日は<BR>山田です<BR>"

という文字列になります。

■文を2行にわけて記述する

 一つの文を2行に分けて記述することができます。たとえば、

<% 
Response.Write "今日は<BR>" & "山田です<BR>"
%>

というResponse.Write文を次のように2行に分けて記述できます。

<% 
Response.Write "今日は<BR>" _

& "山田です<BR>"

%>

この場合、1行目の末尾に"_"(アンダーバー)を記述します。長い文を2行に分けて、分かりやすく記述することができます。

<% 
Response.Write "今日は<BR>" & _

"山田です<BR>"

%>

としても同じです。

 


目次 前のページ 次のページ