Archive for 2月 18th, 2012

  1. 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>

    上記 JSTL コードは、以下の JSP コードに相当する。

    ソースコード(JSP)

    <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, JSTL World!