Javaに関する様々な情報をご紹介します。

5暗黙オブジェクト(out)

Javaに関する様々な情報をご紹介します。

暗黙オブジェクト(out)

JSPでは、宣言せずに使用できるオブジェクトとして9つの暗黙オブジェクト(request, response, pageContext, session, application, out, config, page, exception)が用意されています。それぞれの暗黙オブジェクトにはJSPプログラムで頻繁に使用するメソッドが定義されています。ここでは、暗黙オブジェクトのうち、outについて解説します。

メソッド

暗黙オブジェクトoutは、javax.servlet.jsp.JspWriterクラスのオブジェクト変数です。ブラウザへの出力やバッファ処理など主に出力系のメソッドが定義されています。ブラウザへ値を出力する際などには、必ず使用します。以下にoutオブジェクトで使用できる主なメソッドを紹介します。

メソッドの説明にバッファという言葉が出てきますが、Javaではデータをそのつど出力するのではなく、一旦バッファにためて、あるタイミングでまとめて出力するという方法をとっています。これにより、出力ごとのオーバーヘッドをなくし、全体として処理パフォーマンスの向上を図ることができます。

戻り型 メソッド 説明
void clear( ) バッファ内のデータをクリアします。バッファ内のデータがすでに出力済みの場合は例外がスローされます。
void clear
Buffer( )
バッファ内のデータをクリアします。バッファ内のデータがすでに出力済みの場合でも例外はスローしません。
void close( ) バッファ内のデータを出力した後に、出力ストリームを閉じます。JSPプログラムにはcloseメソッドの呼び出しが自動的に含まれるため、処理途中などで意識的に出力ストリームを閉じる場合を除き、このメソッドを使用する必要はありません。
void flush( ) バッファ内のデータを強制的に出力します。
void newLine( ) OS環境に合わせた改行文字を出力します。
void print(var) 引数に指定された値を出力します。
void println(
var)
引数に指定された値とOS環境に合わせた改行文字を出力します。

※ その他のメソッドについてはAPIリファレンスをご参照ください。

使用例

outオブジェクトの使用例について解説します。forループ内で変数xを1ずつ増加させ、その結果をoutオブジェクトのprintlnメソッドで表示するプログラムです。

exOut.jsp

<%@ page language="java" contentType="text/html; charset=windows-31j"
    pageEncoding="windows-31j"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>

<%
    out.println("暗黙オブジェクトoutの使用例です。");
    out.println("<BR>");

    //(1)forループ内で変数xを1ずつ増加させ、その結果を
    //   printlnメソッドで表示しています。
    for (int x = 1; x <= 10; x++) {
        out.println(x);
        out.println("<BR>");
    }
%>

</body>
</html>

【実行結果】JSPプログラムの実行方法に関しては、Javaの道:Tomcat(プログラム配置・実行)を参照してください。

Javaの道_out_実行結果

5暗黙オブジェクト(out)