Hello, EL World!
Posted on 2月 18th, 2012 by cx20
EL
EL(Expression Language)は Java EE 周辺技術の一つで JSP 2.0 より導入された組み込み言語である。EL式または式言語と呼ばれている。
JSP から Java コード(スクリプトレット)を取り除き、コードの可読性を向上させる為に考案された。
${} の形式で式や変数を記述する。実際の変数はスコープに設定されている属性として扱われる。
JSP 2.1 より JSF の #{} の形式(遅延評価型)を取り入れた Unified EL が利用可能となっている。
なお、Java EE 周辺技術のバージョンは以下のような対応になっている。
J2EE |
Servlet |
JSP |
EL |
JSTL |
JSF |
EJB |
J2EE 1.2 |
2.2 |
1.1 |
– |
– |
– |
1.1 |
J2EE 1.3 |
2.3 |
1.2 |
– |
1.0 |
– |
2.0 |
J2EE 1.4 |
2.4 |
2.0 |
2.0 |
1.1 |
– |
2.1 |
Java EE 5 |
2.5 |
2.1 |
2.1 |
1.2 |
1.2 |
3.0 |
Java EE 6 |
3.0 |
2.2 |
2.2 |
1.2 |
2.0 |
3.1 |
ソースコード(EL)
<%@ page contentType="text/html"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title>Hello, World!</title>
</head>
<body>
<c:set var="message" value="EL" scope="page" />
<p>Hello, <c:out value="${message}"/> World!</p>
</body>
</html> |
<%@ page contentType="text/html"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title>Hello, World!</title>
</head>
<body>
<c:set var="message" value="EL" scope="page" />
<p>Hello, <c:out value="${message}"/> World!</p>
</body>
</html>
上記 JSTL コードは、以下の JSP コードに相当する。
ソースコード(JSP)
<html>
<head>
<title>Hello, World!</title>
</head>
<body>
<% pageContext.setAttribute("message","EL"); %>
<p>Hello, <%= pageContext.getAttribute("message") %> World!</p>
</body>
</html> |
<html>
<head>
<title>Hello, World!</title>
</head>
<body>
<% pageContext.setAttribute("message","EL"); %>
<p>Hello, <%= pageContext.getAttribute("message") %> World!</p>
</body>
</html>
実行方法
ディレクトリ構成
/hello … 公開用フォルダ
/WEB-INF … アプリケーション設定ファイル配置場所
/lib … ライブラリ配置場所
1. WEB-INF/lib にライブラリを配置
jstl.jar
standard.jar
2. Tomcat の公開フォルダに JSP ファイルを配置
3. ブラウザで表示
http://localhost:8080/hello/hello.jsp |
ディレクトリ構成
/hello … 公開用フォルダ
/WEB-INF … アプリケーション設定ファイル配置場所
/lib … ライブラリ配置場所
1. WEB-INF/lib にライブラリを配置
jstl.jar
standard.jar
2. Tomcat の公開フォルダに JSP ファイルを配置
3. ブラウザで表示
http://localhost:8080/hello/hello.jsp
実行結果
Tags: EL
Categories: EL, Java, JSP