[EL(Expression Language) - (1) ] EL(Expression Language) - 표현 언어 : ${ }
EL
EL은 JSP 스크립트 태그( <%=%> )를 대신하여 JSP 값들을 좀더 편리하게 출력하기 위해 제공되는 언어이다. 예를 들어 <%=hello%>라는 코드를 EL로 표현할 때는 ${hello}로 표현된다.
hello 객체의 test 속성 출력하기
1) ${hello.test} 2) ${hello['test']} 3) ${hello["test"]}
1), 2), 3) 총 3가지로 표현이 가능하다.
1) EL의 내장 객체
내장 객체 | 설명 |
pageScope | Page 영역에 존재하는 객체를 참조할 때 사용한다. |
requestScope | Request 영역에 존재하는 객체를 참조할 때 사용한다. |
sessionScope | Session 영역에 존재하는 객체를 참조할 때 사용한다. |
applicationScope | Application 영역에 존재하는 객체를 참조할 때 사용한다. |
param | 파라미터 값을 얻어올 때 사용한다. |
paramValues | 파라미터 값을 배열로 얻어올 때 사용한다. |
header | Header 정보를 얻어올 때 사용한다. |
headerValues | Header 정보를 배열로 얻어올 때 사용한다. |
cookie | 쿠키 객체를 참조할 때 사용한다. |
initParam | 컨텍스트의 초기화 파라미터를 의미한다. |
pageContext | PageContext 객체를 참조할 때 사용한다. |
내장 객체 사용 예시
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
session.setAttribute("test","Session Test");
%>
<html>
<head>
<title>EL 내장객체 사용 예제</title>
<style>
table{
width : 400px;
margin : auto;
border : 1px solid gray;
text-align: center;
}
</style>
</head>
<body>
<table>
<tr>
<td>이름 : </td>
<td><input type="text" name="name" value="홍길동"></td>
</tr>
<tr>
<td colspan=2 align=center><input type="submit" value="입력"></td>
</tr>
</table>
</form>
</body>
</html>
el_test1
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%
request.setCharacterEncoding("UTF-8");
%>
<html>
<head>
<title>EL 내장객체 사용 예제</title>
</head>
<body>
</body>
</html>
el_test2
|
2) EL의 연산자
연산자 | 설명 |
. | 빈, 맵의 속성에 접근하기 위한 연산자이다. |
[ ] | 배열, 리스트의 요소 또는 빈 |
( ) | 연산의 우선 순위를 변경할 때 사용한다. |
x ? a : b | x의 조건이 만족하면 a를 리턴하고, 만족하지 않으면 b를 리턴한다. ( 삼항 연산자 ) |
empty | 값이 NULL이거나 컬렉션의 사이즈가 0일 경우 true를 반환한다. |
산술 연산자 | 설명 |
+, -, *, /, % | 더하기, 빼기, 곱하기, 나누기, 나머지 ( 나누기와 나머지는 div, mod로도 가능) |
논리 연산자 | 설명 |
&& 또는 and | 두 항의 내용을 모두 만족할 경우 true, 그렇지 않으면 false를 반환한다. |
|| 또는 or | 두 항의 내용 중 하나라도 만족하면 true, 그렇지 않으면 false를 반환한다. |
! 또는 not | 값이 만족하지 않으면 true, 만족하면 false를 반환한다. 즉, true는 false로, false는 true로 변경해 주는 연산자이다. |
비교 연산자 | 설명 |
== 또는 eq | 두 항의 값이 같으면 true, 그렇지 않으면 false를 반환한다. |
!= 또는 ne | 두 항의 값이 다르면 false, 그렇지 않으면 true를 반환한다. |
< 또는 It | '보다 작다'라는 의미를 갖고, 왼쪽 항이 오른쪽 항보다 작으면 true를 반환한다. |
> 또는 gt | '보다 크다'라는 의미를 갖고, 왼쪽 항이 오른쪽 항보다 크면 true를 반환한다. |
<= 또는 le | '같거나 작다' ~ |
>= 또는 ge | '같거나 크다' ~ |
EL의 연산자 예제
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<html>
<head>
<title>EL 연산자 사용 예제</title>
</head>
<body> // '\'는 뒤의 것이 문자라는
<h3>\${5+7} = ${5+7}</h3>
<h3>\${8-3} = ${8-3}</h3>
<h3>\${6*3} = ${6*3}</h3>
<h3>\${9/3} = ${9/3}</h3>
<h3>\${10%3} = ${10%3}</h3>
<h3>\${10==9} = ${10==9}</h3>
<h3>\${5!=7} = ${5!=7}</h3>
<h3>\${7<8} = ${7<8}</h3>
<h3>\${8>8} = ${8>8}</h3>
<h3>\${15<=9} = ${15<=9}</h3>
<h3>\${7>=2} = ${7>=2}</h3>
<h3>\${5+3==8 ? 8 : 10} = ${5+3==8 ? 8 : 10}</h3>
</body>
</html>
r
|