Jakarta EE Expression Language(EL)の基本構文と書き方をやさしく解説|初心者向け完全入門
生徒
「Jakarta EEのJSPで、${}って書いてあるのを見たんですが、これは何をしているんですか?」
先生
「それはJakarta Expression Language、略してELと呼ばれる仕組みです。画面に値を表示したり、簡単な計算や条件分岐を行うために使います。」
生徒
「Javaのコードとは違うんですか?」
先生
「はい。ELはJavaよりもずっとシンプルで、HTMLの中に自然に書けるのが特徴です。初心者でも扱いやすいのがポイントですね。」
1. Jakarta Expression Languageとは何か
Jakarta Expression Languageは、Jakarta EEでWeb画面を作成するときに使われる式の仕組みです。 主にJSPやJSFの画面で利用され、サーバー側で準備されたデータを簡単な記法で表示できます。 Javaの文法をそのまま書くのではなく、決まったルールに従って値を参照するため、コード量が少なく読みやすいのが特徴です。
例えば、サーブレットで用意したデータをJSPに渡し、その値を画面に表示するだけであれば、 ELを使うことで複雑なJavaコードを書く必要がありません。 これにより、画面の見た目と処理の役割が分かれ、保守しやすいWebアプリケーションを作れます。
2. ELの基本構文 ${ }
ELの最も基本的な書き方は、ドル記号と波かっこを使った${}という形式です。
この中に変数名や簡単な式を書くことで、その結果が画面に表示されます。
JSPではHTMLの中に直接書けるため、初心者でも直感的に理解しやすいでしょう。
ELは主に、リクエストやセッション、アプリケーションスコープに保存されたデータを参照します。 難しい設定をしなくても、自動的に値を探してくれる点も大きな特徴です。
<!DOCTYPE html>
<html>
<body>
<p>ユーザー名:${userName}</p>
</body>
</html>
上記の例では、userNameという名前のデータを表示しています。 サーブレット側でuserNameが設定されていれば、その値がそのまま画面に出力されます。
3. ドット記法と配列・オブジェクトの扱い
ELでは、ドットを使ってオブジェクトの中の値を参照できます。 Javaのgetterメソッドを意識せずに書けるため、非常にシンプルです。 配列やリスト、マップ形式のデータも同じような感覚で扱えます。
<!DOCTYPE html>
<html>
<body>
<p>名前:${user.name}</p>
<p>年齢:${user.age}</p>
</body>
</html>
このように、userというオブジェクトの中にあるnameやageを簡単に表示できます。 Javaコードを書く必要がないため、画面作成に集中できるのが利点です。
4. ELで使える演算子と簡単な計算
ELでは、数値の足し算や引き算、比較などの基本的な演算も行えます。 複雑なロジックはJava側で処理し、画面では簡単な判断だけを行うのが一般的です。 これにより、画面が読みやすくなり、初心者でも理解しやすい構成になります。
<!DOCTYPE html>
<html>
<body>
<p>合計金額:${price * quantity} 円</p>
</body>
</html>
この例では、価格と数量を掛け算して合計金額を表示しています。 Javaで計算処理を書かなくても、ELだけで完結するのがポイントです。
5. 条件判定と真偽値の扱い
ELでは条件判定も可能です。 trueやfalseといった真偽値を扱い、表示内容を切り替えることができます。 画面上での簡単な分岐に使うことで、ユーザーにとって分かりやすい表示を実現できます。
<!DOCTYPE html>
<html>
<body>
<p>${login ? "ログイン中" : "未ログイン"}</p>
</body>
</html>
このように、ログイン状態に応じて表示文字を変えることも可能です。 初心者のうちは、表示制御はEL、処理はJavaと役割を分けて考えると理解しやすくなります。