カテゴリ: Jakarta EE 更新日: 2026/01/24

Jakarta EE ELとJSPの連携方法を完全解説!初心者でもわかる基本と使い方

Jakarta EE ELとJSPの連携方法
Jakarta EE ELとJSPの連携方法

先生と生徒の会話形式で理解しよう

生徒

「Jakarta EEのJSPで、Javaの値を画面に表示するのが難しく感じます。もっと簡単な方法はありますか?」

先生

「JSPでは、Jakarta Expression Language、略してELを使うと、Javaの値をとても簡単に表示できます。」

生徒

「ELって何をしてくれるんですか?JSPとどうやって一緒に使うんですか?」

先生

「JSPとELを連携させることで、画面表示と処理を分けて、読みやすく安全なWebアプリを作れます。順番に見ていきましょう。」

1. JSPとELの関係をやさしく理解しよう

1. JSPとELの関係をやさしく理解しよう
1. JSPとELの関係をやさしく理解しよう

Jakarta EEにおけるJSPは、Webブラウザに表示する画面を作るための仕組みです。一方、Jakarta Expression Languageは、 JSPの中で使える「値を取り出すための書き方」です。難しく考えず、「ELはJSPの中で使える便利な表示専用の言葉」と イメージしてください。

以前のJSPでは、画面の中にJavaのコードを直接書くことが多く、読みづらく、ミスもしやすい状態でした。 ELを使うことで、JSPは画面表示に集中し、Javaは裏側の処理に集中できます。 これがJakarta EEで推奨されている基本的な考え方です。

2. ELで値を表示する基本的な書き方

2. ELで値を表示する基本的な書き方
2. ELで値を表示する基本的な書き方

ELは、とてもシンプルな記法で値を表示できます。JSPの中で、${}という形を使います。 この中に、表示したい名前を書くだけでOKです。 ここで使われる名前は、サーブレットなどで設定されたデータです。


<h2>ようこそELの世界へ</h2>
<p>ユーザー名:${userName}</p>

上記の例では、userNameという名前のデータを表示しています。 JSP側ではJavaの書き方は一切出てきません。 これがELとJSPを連携させる最大のメリットです。

3. ServletからJSPへデータを渡す流れ

3. ServletからJSPへデータを渡す流れ
3. ServletからJSPへデータを渡す流れ

ELで表示する値は、事前にサーブレットで用意します。 サーブレットとは、リクエストを受け取り、処理を行い、結果をJSPに渡す役割を持つJavaのクラスです。 ここでは、リクエストスコープを使ってデータを渡します。


import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/hello")
public class HelloServlet extends HttpServlet {

    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        request.setAttribute("userName", "山田太郎");
        request.getRequestDispatcher("/hello.jsp").forward(request, response);
    }
}

このサーブレットでは、userNameという名前で文字列を設定しています。 forwardでJSPに移動すると、JSP側でELを使ってその値を表示できます。

4. JavaBeansとELを組み合わせたJSP表示

4. JavaBeansとELを組み合わせたJSP表示
4. JavaBeansとELを組み合わせたJSP表示

Jakarta EEでは、JavaBeansという「データをまとめるためのクラス」をよく使います。 ELは、このJavaBeansとも自然に連携できます。 プロパティと呼ばれる値を、名前で簡単に取り出せるのが特徴です。


public class User {
    private String name;
    private int age;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

このUserクラスをサーブレットで設定すると、JSPでは次のようにELで表示できます。


<p>名前:${user.name}</p>
<p>年齢:${user.age}</p>

ELでは、getNameやgetAgeを意識せず、シンプルな書き方で値を扱えます。 初心者でも直感的に理解しやすい点が大きな魅力です。

5. JSPとELを使うときの考え方と注意点

5. JSPとELを使うときの考え方と注意点
5. JSPとELを使うときの考え方と注意点

JSPとELを連携させるときは、「JSPは表示専用、Javaは処理専用」という考え方を意識することが重要です。 JSPの中に複雑な処理を書かず、ELで値を表示するだけにすると、保守しやすいWebアプリになります。

また、ELは安全に値を表示できる仕組みでもあります。 直接Javaコードを書くよりも、ミスやトラブルを防ぎやすく、 Jakarta EEでのWeb開発では欠かせない存在です。 JSPとELの連携を理解することは、Jakarta EE学習の大きな一歩になります。

カテゴリの一覧へ
新着記事
New1
Jakarta EE
Jakarta EEとクラウドネイティブ開発の相性とは?初心者向けにわかりやすく解説
New2
Jakarta EE
JakartaEE JSPのリクエスト属性とスコープの基本を徹底解説!初心者向け入門ガイド
New3
Play Framework
Play Frameworkのビューテストを徹底解説!Twirlテンプレートの品質を高める方法
New4
Jakarta EE
JakartaEE フィルタで認証と認可を実装する方法を初心者向けに解説!サーブレットのセキュリティ入門
人気記事
No.1
Java&Spring記事人気No1
Jakarta EE
Jakarta EEとSpringの比較|どちらを選ぶべきか?初心者向けに徹底解説!
No.2
Java&Spring記事人気No2
Play Framework
Play Frameworkのビューを共通化!テンプレート間のインクルード方法を徹底解説
No.3
Java&Spring記事人気No3
Play Framework
Play Frameworkプロジェクト作成直後にやるべき初期設定ガイド!初心者でも安心
No.4
Java&Spring記事人気No4
Play Framework
Play FrameworkでCSSやJavaScriptを読み込む方法を徹底解説!静的リソースの組み込みガイド
No.5
Java&Spring記事人気No5
Jakarta EE
Jakarta サーブレットのHttpServletRequestを徹底解説!初心者でもわかる基本操作と使い方
No.6
Java&Spring記事人気No6
Play Framework
Play Frameworkで多言語対応(i18n)を徹底解説!Twirlテンプレートでの使い方
No.7
Java&Spring記事人気No7
Jakarta EE
Jakarta EEとJava EEアプリの互換性を完全解説!移行で困らないための基礎知識
No.8
Java&Spring記事人気No8
Jakarta EE
Jakarta EEの標準仕様とAPI一覧を完全解説!初心者でもわかるエンタープライズJavaの基本