#05:EL式2 - 演算子と各種操作
このチャプターでは、EL式の演算子と各種操作について学習します。
【useBean】<jsp:useBean id="account" class="jp.paiza.bean.AccountBean" scope="request">
<jsp:setProperty name="account" property="userId" value="paiza" />
</jsp:useBean>
【スクリプトレット】<%
String[] a = {"apple", "orange", "lemon"};
ArrayList<String> l = new ArrayList<>(Arrays.asList(a));
HashMap<String, String> m = new HashMap<>();
m.put("A", "apple");
m.put("B", "orange");
m.put("C", "lemon");
request.setAttribute("array", a);
request.setAttribute("list", l);
request.setAttribute("map", m);
%>
【index.jsp】<%@ page contentType="text/html; charset=UTF-8" import="java.util.*" %>
<jsp:useBean id="account" class="jp.paiza.bean.AccountBean" scope="request">
<jsp:setProperty name="account" property="userId" value="paiza" />
</jsp:useBean>
<%
String[] a = {"apple", "orange", "lemon"};
ArrayList<String> l = new ArrayList<>(Arrays.asList(a));
HashMap<String, String> m = new HashMap<>();
m.put("A", "apple");
m.put("B", "orange");
m.put("C", "lemon");
request.setAttribute("array", a);
request.setAttribute("list", l);
request.setAttribute("map", m);
%>
<html>
<body>
<p>${account["userId"]}</p>
<p>${account.userId}</p>
<p>${account.getUserId()}</p>
<p>${array[0]}</p>
<p>${list[1]}</p>
<p>${map["C"]}</p>
</body>
</html>
【算術演算子】
| 演算子 | 意味 | 例 |
|---|---|---|
| + | 加算 | ${a + b} |
| - | 減算 | ${a - b} |
| * | 乗算 | ${a * b} |
| / または div | 除算 | ${a / b} または ${a div b} |
| % または mod | 剰余 | ${a % b} または ${a mod b} |
【比較演算子】
| 演算子 | 意味 | 例 |
|---|---|---|
| == または eq | 等しい | ${a == b} / ${a eq b} |
| != または ne | 等しくない | ${a != b} / ${a ne b} |
| < または lt | より小さい | ${a < b} / ${a lt b} |
| > または gt | より大きい | ${a > b} / ${a gt b} |
| <= または le | 以下 | ${a <= b} / ${a le b} |
| >= または ge | 以上 | ${a >= b} / ${a ge b} |
【論理演算子】
| 演算子 | 意味 | 例 |
|---|---|---|
| && または and | 論理積 (AND) | ${a && b} / ${a and b} |
| || または or | 論理和 (OR) | ${a || b} / ${a or b} |
| ! または not | 否定 (NOT) | ${!a} / ${not a} |
| 式 | 意味 | 例 |
|---|---|---|
| empty | null または空なら true | ${empty user} |
| a.b または a["b"] | オブジェクトのプロパティ参照 | ${user.name} / ${user["name"]} |
| a[i] | 配列・リスト・Mapのアクセス | ${items[0]} / ${map["key"]} |
JavaBeansのプロパティに値を設定することができます。<jsp:setProperty
name="プロパティを設定するオブジェクトの名前"
property="設定するプロパティの名前"
value="指定されたプロパティに設定する値" />
新・Java入門編9: ArrayListを学習しよう
https://paiza.jp/works/java/new-primer/java-new-primer-9
新・Java入門編19: コレクションフレームワークを理解しよう(LinkedHashMap)
https://paiza.jp/works/java/new-primer/java-new-primer-19
新・Java入門編29: 配列について学習しよう
https://paiza.jp/works/java/new-primer/java-new-primer-29
Jakarta Expression Language
https://jakarta.ee/ja/specifications/expression-language/
クラスIntrospector
https://docs.oracle.com/javase/jp/17/docs/api/java.desktop/java/beans/Introspector.html
インタフェースBeanInfo
https://docs.oracle.com/javase/jp/17/docs/api/java.desktop/java/beans/BeanInfo.html
クラスPropertyDescriptor
https://docs.oracle.com/javase/jp/17/docs/api/java.desktop/java/beans/PropertyDescriptor.html#%3Cinit%3E(java.lang.String,java.lang.Class)