티스토리 뷰
표현 언어란?
- 표현 언어(Expression Language)는 값을 표현하는 데 사용되는 스크립트 언어로서 JSP의 기본 문법을 보완하는 역할(자바언어 간소화)을 한다.
표현 언어가 제공하는 기능
- JSP의 스코프(scope)에 맞는 속성 사용
- 집합 객체에 대한 접근 방법 제공
- 수치 연산, 관계 연산, 논리 연산자 제공
- 자바 클래스 메소드 호출 기능 제공
- 표현언어만의 기본 객체 제공
표현언어의 표현방법
표현언어의 기본 객체
표현 언어의 기본 객체 사용 예
표현 언어의 데이터 타입
- 불리언 타입 - true와 false
- 정수타입 - 0~9로 이루어진 정수 값 음수의 경우 '-'가 붙음
- 실수타입 - 0~9로 이루어져 있으며, 소수점('.')을 사용할 수 있고, 3.24e3과 같이 지수형으로 표현 가능하다.
- 문자열 타입 - 따옴표( ' 또는" )로 둘러싼 문자열. 만약 작은 따옴표(')를 사용해서 표현할 경우 값에 포함된 작은 따옴표는 \' 와 같이 \ 기호와 함께 사용해야 한다.
- \ 기호 자체는 \\ 로 표시한다.
- 널 타입 - null
객체 접근 규칙
- 표현 1이나 표현 2가 null이면 null을 반환한다.
- 표현1이 Map일 경우 표현2를 key로한 값을 반환한다.
- 표현1이 List나 배열이면 표현2가 정수일 경우 해당 정수 번째 index에 해당하는 값을 반환한다.
- 만약 정수가 아닐 경우에는 오류가 발생한다.
- 표현1이 객체일 경우는 표현2에 해당하는 getter메소드에 해당하는 메소드를 호출한 결과를 반환한다.
표현 언어의 수치 연산자
- + : 덧셈
- - : 뺄셈
- * : 곱셈
- / 또는 div : 나눗셈
- % 또는 mod : 나머지
- 숫자가 아닌 객체와 수치 연산자를 사용할 경우 객체를 숫자 값으로 변환 후 연산자를 수행 : ${"10"+1} → ${10+1}
- 숫자로 변환할 수 없는 객체와 수치 연산자를 함께 사용하면 에러를 발생 : ${"열"+1} → 에러
- 수치 연산자에서 사용되는 객체가 null이면 0으로 처리 : ${null + 1} → ${0+1}
비교 연산자
- == 또는 eq
- != 또는 ne
- < 또는 lt
- > 또는 gt
- <= 또는 le
- >= 또는 ge
- 문자열 비교: ${str == '값'} str.compareTo("값") == 0 과 동일
논리 연산자
- && 또는 and
- || 또는 or
- ! 또는 not
empty 연산자, 비교선택 연산자
연산자 우선순위
- [] .
- ()
- - (단일) not ! empty
- * / div % mod
- + -
- < > <= >= lt gt le ge
- == != eq ne
- && and
- || or
- ? :
표현 언어 비활성화 : JSP에 명시하기
- <%@ page isELIgnored = "true" %>
el 실습
- 각각의 스코프에 값을 설정해놓고, 설정한 값을 el 코드를 통해서 출력하는 예제
el01.jsp
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
33
34 |
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%
//아래 값들을 el 코드로 출력해보기
pageContext.setAttribute("p1","page scope value");
request.setAttribute("r1","request scope value");
session.setAttribute("s1","session scope value");
application.setAttribute("a1","applcication scope value");
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
</head>
<body>
<!--jsp 기본 문법으로 출력 -->
pageContext.getAttribute("p1"): <%= pageContext.getAttribute("p1") %><br>
<!-- el을 이용한 출력 -->
pageContext.getAttribute("p1"): ${pageScope.p1}<br>
requset.getAttribute("r1") : ${requestScope.r1 }<br>
session.getAttribute("s1") : ${sessionScope.s1 }<br>
application.getAttribute("a1") : ${applicationScope.a1}<br>
<!--동일한 이름이 없는 경우, 아래와 같이 간결하게 표현 가능 -->
pageContext.getAttribute("p1") : ${p1}<br>
request.getAttribute("r1") : ${r1 }<br>
session.getAttribute("s1") : ${s1 }<br>
application.getAttribute("a1") : ${a1 }<br>
</body>
</html> |
cs |
실습 2
requestScope에다 값을 저장해놓고, 사칙연산을 하는 예제
el02.jsp
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=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%
request.setAttribute("k",5);
request.setAttribute("m", true);
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
</head>
<body>
k : ${k }<br>
k + 5 : ${k+5 }<br>
k - 5 : ${k-5 }<br>
k * 5 : ${k*5 }<br>
k / 5 : ${k div 5 }<br>
k : ${k }<br>
m : ${m }<br>
k > 5 : ${k>5 }<br>
k < 5 : ${k<5 }<br>
k <= 10: ${k<=10 }<br>
k >= 10: ${k>=10 }<br>
m : ${m}<br>
m! : ${!m }<br>
</body>
</html> |
cs |
참고 사이트 : http://www.edwith.org/
※
본 게시물은 개인적인 용도로 작성된 게시물입니다. 이후 포트폴리오로 사용될 정리 자료이니 불펌과 무단도용은 하지 말아주시고 개인 공부 목적으로만 이용해주시기 바랍니다.
※
'웹 > 부스트코스' 카테고리의 다른 글
[WEB]Maven이란? (0) | 2018.06.29 |
---|---|
[WEB]JSTL(JSP Standard Tag Library) (0) | 2018.06.29 |
[WEB]scope (0) | 2018.06.27 |
[WEB] servlet & jsp연동 (0) | 2018.06.27 |
[WEB]redirect, foward (0) | 2018.06.27 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 파이썬 while
- 파이썬 예제
- 자바스크립트 그래프
- 파이썬 for
- 파이썬 객체
- 명품 c++ 실습
- 파이썬 문자열
- 백준 10451
- css
- 파이썬 진수 변환
- 자바 에센셜 실습문제
- 파이썬 선택문
- 웹
- 파이썬 연산자
- 백준 11501
- 파이썬 함수
- 파이썬 if문
- 파이썬
- 파이썬 터틀
- 파이썬 리스트
- css 그리드
- css 박스
- 백준
- 백준 1874
- 파이썬 단계적 개선
- 자바스크립트 자료구조
- 버츄어박스
- 파이썬 클래스
- 자바
- 자료구조
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함