このセクションでは、JSP 内からアクセス可能なオブジェクトについて説明します。これらのオブジェクトを使用して JSP 内から基本的なタスクを実行できます。次のようなオブジェクトがあります。
request
オブジェクト クライアントから JSP に送信された HTTP 要求。HTTP 要求には request ヘッダ内のすべての名前/値ペアが含まれます。
response
オブジェクト JSP により生成される HTTP 応答オブジェクト。response
オブジェクトを使用して、応答ヘッダとクッキーの名前/値ペアなどの情報をクライアントに返すことができます。 out
オブジェクト クライアントに返される出力ストリーム。JSP によって出力される HTML テキストは通常、out
オブジェクトに書き込まれ、クライアントによって解釈されます。
メモ この章では、これらのオブジェクトの概要についてのみ説明します。オブジェクトと
そのメソッドの詳細については、HTML バージョンの Java サーブレット API のマニュ
アルを参照してください。これらの HTML ファイルは、使用中の JRun インストール
ディレクトリにある |
JSP オブジェクトは実際には、Java サーブレット API からのオブジェクトとして実装されます。JSP オブジェクトにより、これらの Java サーブレット API オブジェクトにアクセスするための簡易メカニズムが使用できます。
次の表は、各 JSP オブジェクトの一覧で、これらのオブジェクトに対応するサーブレットAPI オブジェクトのタイプをまとめたものです。
JRun により JSP が呼び出されると、前のセクションの表に示されている JSP オブジェクトがすべて作成されます。オブジェクト名とオブジェクト メソッド、またはフィールドを参照するだけで、JSP でこれらのオブジェクトにアクセスできます。
メモ セッションのトラッキングを有効にした場合にのみ、 |
Java オブジェクトへのインターフェイスは、オブジェクトの public メソッドとフィールドから構成されています。したがって、この章で説明するオブジェクトを使用するには、オブジェクトのメソッドやフィールドを参照してください。
オブジェクトのメソッド、またはフィールドを参照するには、「ドット」アドレス メカニズムを使用します。つまり、オブジェクト名に続けてドット (ピリオド) を入力してから、メソッド名、またはフィールド名を指定します。次の例ではこの構文を使用して、JSP の出力に文字列を書き込んでいます。
out.println("Greetings from my page!");
この例の場合、オブジェクト名は out
で、メソッドは println
です。
次の例では、request
オブジェクトを使用して、JSP への HTTP 要求に含まれている fName
パラメータと lName
パラメータの値が取得されます。次に、out
オブジェクトを使用して、これらの値がクライアントに書き込まれます。
<%
String firstName = request.getParameter("fName"); String lastName = request.getParameter("lName"); out.println("Welcome " + firstName + " " + lastName); %>
次の例では、要求からユーザ名が取得され、この名前が JSP の session
オブジェクトに書き込まれます。これにより、同じセッションにある別の JSP から情報にアクセスできるようになります。この例は、1 つの JSP によりサービスされているすべてのページでクライアント名を表示するようアプリケーションをカスタマイズする方法を示しています。
最初の JSP の greeting.jsp
では、ユーザ名が session
オブジェクトに書き込まれます。
<%
String firstName = request.getParameter("fName"); String lastName = request.getParameter("lName"); session.setAttribute("fName", firstName); session.setAttribute("lName", lastName); out.println("Welcome " + firstName + " " + lastName); %>
メモ クライアントから渡されたパラメータにアクセスするために使用される |
session
オブジェクトへの情報の書き込みが完了すると、同じセッションにある別の JSP からこの情報へアクセスできるようになります。たとえば、注文の合計を生成する JSP には、次のような行が含まれます。
<%
String firstName = (String) session.getAttribute("fName"); String lastName = (String) session.getAttribute("lName"); out.println("Welcome " + firstName + " " + lastName); %>
getAttribute
は常に java.lang.Object
タイプのオブジェクトを返すので、getAttribute
の戻り値をタイプ変換する必要があります。タイプ変換によって、getAttribute
から返されたオブジェクトは、送信先の形式に変換されます。この場合は文字列に変換されます。