EL (Expression Language)
EL(Expression Language)は言語を表し、ELは値を表すためのスクリプト言語であり、JSPの基本文法を改善する役割を果たしている. ELが提供する機能 JSPの範囲に適合する属性 を使用の集合オブジェクトへのアクセス方法 を提供する.は、数値演算、関係演算および論理演算子 を提供する. Javaクラスメソッド呼び出し EL 内蔵オブジェクト
言語を表す表現方法
構文 ELは、JSPのスクリプト要素(スクリプト、式、宣言子)以外の部分で使用することができ、式によって式よりも値を容易に出力することができる. ELのデフォルトオブジェクト
ELのデフォルトオブジェクトの使用例
pageContextおよびrequestが所有する方法をELとして使用する. ELを熟知すれば、Javaコードを使用するよりもjspを簡潔に記述することができます. ELのデータ型ブール型-trueとfalse 整数タイプ-0から9の整数負の値に「-」 を加算します.実数タイプ-0から9で構成され、3.24 e 3のような小数点(".")で表すことができます. 文字列タイプ-引用符("または")を含む文字列.一重引用符(")で表される場合は、値に含まれる引用符は"とともに使用する必要があります. 記号自体はで表されます. 空タイプ-null オブジェクト・アクセス・ルールが1を表す場合、または2がnullを表す場合、nullが返されます. が1をMapと表す場合、2をキーとする値が返されます. が1がListまたは配列であることを示す場合、2が整数であることを示す場合、その整数の2番目のインデックスに対応する値が返される. 整数でないとエラーになります. が1がオブジェクトであることを示すと、2を表すgetterメソッド呼び出しの結果が返される. student.name → student.getname() ELの数値演算子 :加算 -:減算 *:乗算 /またはdiv:除算 %またはmod:残りの 非数値オブジェクトと数値演算子を使用する場合、オブジェクトを数値に変換して演算子を実行します:${"10"+1}→${10+1} に変換できないオブジェクトを数値演算子と組み合わせて使用すると、エラーが発生します. ${"列"+1}→エラー の数値演算子でnullが使用されている場合は、0とします. ${null + 1} → ${0+1} 比較演算子==またはeq != またはne <またはlt
またはgt
<=またはle
=またはge
文字列比較:${str=="値"}str.compareTo("値")=0は と同じ
論理演算子&または ||または ! またはnot Null演算子、比較選択演算子{{Nullえんざんし:ひかくせんたくえんざんし}}
演算子の優先度 [] . () (シングル)not!empty /div % mod
< > <= >= lt gt le ge == != eq ne && and || or ? : EL無効:JSPで指定ページインジケータに
実習
Elscopeオブジェクトの使用
言語を表す表現方法
構文
${expr}
expr: 표현언어가 정의한 문법에 따라 값을 표현하는 식
例<jsp:include page="/module/${skin.id}/header.jsp" flush="true" />
<b>${sessionScope.member.id}</b>님 환영합니다.
ELのデフォルトオブジェクトの使用例
${<표현1>.<표현2>}
またはgt
=またはge
論理演算子
演算子の優先度
<%@ page isELignored = "true"%>
(デフォルトはfalse)を指定します.Elscopeオブジェクトの使用
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
pageContext.setAttribute("p1", "page scope value");
request.setAttribute("r1", "request scope value");
session.setAttribute("s1", "session scope value");
application.setAttribute("a1", "application scope value");
%>
<html>
<head>
<title>Title</title>
</head>
<body>
<!--JSP로 출력하는 경우-->
pageContext.getAttribute("p1") : <%=pageContext.getAttribute("p1")%> <br>
<!--EL로 출력하는 경우-->
pageContext.getAttribute("p1") : ${pageScope.p1} <br>
request.getAttribute("r1") : ${requestScope.r1} <br>
session.getAttribute("s1") : ${sessionScope.s1} <br>
application.getAttribute("a1") : ${applicationScope.a1} <br>
pageContextt.getAttribute("p1") : ${p1} <br> <!--key가 겹치지 않는다면 이렇게도 가능, 근데 명시적이지 않음..-->
</body>
</html>
pageContext.getAttribute("p1") : page scope value
pageContext.getAttribute("p1") : page scope value
request.getAttribute("r1") : request scope value
session.getAttribute("s1") : session scope value
application.getAttribute("a1") : application scope value
pageContextt.getAttribute("p1") : page scope value
演算の使用<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<% request.setAttribute("k", 10); %>
<% request.setAttribute("m", true); %>
<html>
<head>
<title>Title</title>
</head>
<body>
<h3>EL연산</h3>
k: ${k} <br>
k + 5 : ${k + 5} <br>
k * 5 : ${k * 5} <br>
k / 5 : ${k / 5} <br>
<h3>EL비교논리연산</h3>
k : ${k} <br>
k > 5 : ${k>5} <br>
k < 5 : ${k<5} <br>
m : ${m} <br>
!m : ${!m} <br>
</body>
</html>
EL연산
k: 10
k + 5 : 15
k * 5 : 50
k / 5 : 2.0
EL비교논리연산
k : 10
k > 5 : true
k < 5 : false
m : true
!m : false
isELIgnored<%@ page isELIgnored="true" %>
EL연산
k: ${k}
k + 5 : ${k + 5}
k * 5 : ${k * 5}
k / 5 : ${k / 5}
EL비교논리연산
k : ${k}
k > 5 : ${k>5}
k < 5 : ${k<5}
m : ${m}
!m : ${!m}
ELは解釈せず、文字形式で現れる.Reference
この問題について(EL (Expression Language)), 我々は、より多くの情報をここで見つけました https://velog.io/@yeawonbong/EL-Expression-Languageテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol