<EL>
- 화면에 출력하는 언어
- 사용법: ${출력물}
- ${}안에 일반 자바 변수가 들어가는게 아니다!! <==> <%=일반 자바변수 %>
- ${}안에 들어가는 것들의 유형
1) 파라미터 이름
getParameter("para_name") => ${param.para_name}
ex) getParameter("id") => ${param.id}
2) request의 key값(속성명)
request.getAttribute("key") => ${requestScope.key} => ${key}
ex) request.getAttribute("id") => ${requestScope.id} => ${id}
====> ${id} 처럼 쓰려면, request에 있어야만 이렇게 쓸 수 있다.
ex) String id="admin"; ==> ${id} (X) // 이렇게 쓰는 것 불가! 일반 자바변수는 불가능!
request.setAttribute("id",id) ==> ${id} (O) // request의 key니까 사용 가능
참고) session.setAttribute(key, value)
3) session의 key값 (속성명)
session.getAttribute("key") ==> ${sessionScope.key} => ${key}
// 참고) session.getAttribute(key)
참고) 우선순위: request > session
request.setAttribute("id", "admin");
session.setAttribute("id", "hong");
${id} ==> admin
// 우선순위가 request가 session보다 더 높으므로, ${id}하면 request의 id값을 가져온다.
${sessionScope.id} ==> hong
// hong을 가져오고 싶다면 ${id} 이렇게는 불가능하고 (우선순위에서 밀렸으니까)
// ${sessionScope.id} 해서 가져와야 한다.
<EL을 사용한 연산처리>
${연산자}
1. 산술연산자 +,-,*,/(div),%(mod)
- JAVA의 +: 덧셈, 문자열 결합
- JSP EL의 +: 덧셈만. (문자열 결합X)
※ JSP EL의 문자열 결합: '+=' 사용
ex) ${"Hello, "+="world" }
2. 비교연산자 ==, eq, !=, ne <,>,<=,>=
- 결과값: true/false
1) ==, eq
- 문자열 or 숫자가 같다
ex) ${requestScope.id=='admin'}
ex) ${requestScope.id eq 'admin'}
2) !=, ne
- 문자열 or 숫자 가 같지 않다
- ne: not equal
ex) ${requestScope.id!='admin'}
ex) ${requestScope.id ne 'admin'}
3) <, lt
- lt: less than
4) >, gt
- gt: greater than
5) <=, le
- le: less than or equal to
6) >=, ge
- ge: greater than or equal to
3. 논리연산자 &&,and,||,or,!,not
- 결과값: true/false
4. empty 연산자
- ArrayList에 값이 있는지 없는지의 여부를 확인
- null 또는 ""(빈 공백)이면 true를 리턴한다.
- 결과값: true/false
- ex) ${empty list}
5. 삼항연산자
- 형식: ${조건?true일때값:false일때값}
6. 문자열 결합 연산자 +=
ex) ${"Hello, "+="world" }
'Programming > Back-end(Java, JSP)' 카테고리의 다른 글
[Java] Comparable 정리 - 사용법, 예시코드 (0) | 2020.08.14 |
---|---|
[Java] printf 출력서식 - %d, %f, %c, %s (0) | 2020.07.04 |
[Java] Annotation (0) | 2020.04.18 |
[JSP] JSTL 용법 (0) | 2020.04.05 |
VO(DTO), DAO, Service 용어 설명 (0) | 2020.03.18 |
[JSP] 내장객체 (기본객체, Implicit Objects) (0) | 2020.03.12 |
[Java] 생활코딩 Java1 Method 강의 정리 (0) | 2020.01.20 |
[Java] Swing 기초개념 (0) | 2020.01.09 |