JAVA:IT TRICK

オブジェクトへのアクセス

EL式を使ってオブジェクトへのアクセスについて解説します。
  • このエントリーをはてなブックマークに追加
  • Clip to Evernote
  • IT TRICK RSS

EL式を使ってスコープ変数へアクセスするサンプルを示します。

スコープ変数とは、ページ、リクエスト、セッション、アプリケーションなどの属性にセットされたオブジェクトを表す変数のことです。サーブレットyなどからは、このようなオブジェクトへアクセスするにはgetAttributeメソッドを使いますが、EL式では単純に名前(プロパティ)でアクセスできます。以下はEL式を使ってオブジェクトにアクセスするサンプルJSPです。

58101.jsp
<%@ page language="java" contentType="text/html; charset=windows-31j"
    pageEncoding="windows-31j"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-31j">
<title>EL式:オブジェクトへのアクセス</title>
</head>
<body>
<%
request.setAttribute("message", "hello jsp");
%>
${message}
</body>
</html>

このサンプルではスクリプトレットの中で、リクエストスコープに「message」という名前で「hello jsp」という文字列をセットしています。その後、EL式を使ってmessageを変数名にしてアクセスし、結果の値が表示されています。

このように、EL式の中の変数には、スコープ変数の名前を記述できます。取得されるスコープは、狭い方から自動的に検索されます。ページ → リクエスト → セッション → アプリケーションの順に検索され、最初に見つかったオブジェクトが取得されます。

また、該当オブジェクトが見つからなかった場合はnullが返されますが、EL式の出力は結果がnullの場合、"null"と表示されるのではなく、何も表示されません。