일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- CMD
- 자바
- 자동 배포
- js
- ER 마스터 사용법
- oracle datatype
- Nexacro
- 코드 처리 시간
- 이클립스 프로젝트 변경
- 웹에 데이터를 전송하는 방법
- 개발 일기
- 톰캣 9.0 설치
- 자바스크립트
- [Eclipse] 이클립스 마켓플레이스 (Marketplace) 사용방법
- id 체크
- github
- 이클립스
- 기초 HTML
- Oracle
- php
- 이클립스 서버연동
- 오라클 초기 셋팅
- DDL
- 코드 정리
- 코드이그나이터
- php 날자 함수
- strtotime()
- 실행파일만들기
- scanner 연습문제
- PLSQL 설치
- Today
- Total
Chillax in dev
[JSP&Servlet] JSP의 EL 기초 문법 사용법 정리 본문
[ JSP&Servlet ] 표현 언어(EL) 문법 사용법 정리
- EL이란 무엇인가?
표현 언어(EL, Expression Language)로 JSP 2.0 버전부터 지원되는 jsp페이지의 전달 값이나 변숫값 등 자료를 출력할때의 번거로움을 해결하고 좀 더 효율적으로 데이터를 표현하기 위해 만들어진 기술입니다.
- EL의 이해
페이지를 구현하는 개발을 할 때 가장 중요한 것은 코딩 실력도 있지만 대화와 커뮤니케이션 능력이라고 생각합니다. 특히 EL은 JSP 페이지 내에서 데이터의 표현에 사용되는 기술입니다. 좀 더 효율적이고 간결한 문장을 지향하는 JAVA의 관념에 맞도록 문장의 최소화를 통해 웹 디자이너나 개발자 사이의 작업 어려움에 도움을 주는 기술입니다.
-웹 애플리케이션의 저장소
웹 애플리케이션은 크게 4개의 저장소(scope)를 가지고 있습니다. 종류는 page, request, session, application이고, 이러한 저장소에는 데이터를 공유 및 유지할 수 있게 "속성=값"의 형태를 이용하여 데이터를 저장하고 이를 EL문법으로 표현할 수 있습니다.
사용범위 넒은순서 | page | request | session | application |
- EX)
request.setAttribute("name", "aaaaa"); //request 내장 객체에 name속성으로 aaa 저장.
${name} //EL문법 표현식으로 JSP 페이지에 aaaaa 가 출력됩니다.
- 각 저 정위치 확인 예제
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
|
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>scope</title>
</head>
<body>
<!--이들에 따라각각의 저장 위치는 다르지만.. 순서를 매겨보면 1~4 -->
<%
request.setAttribute("name", "request man");//2
session.setAttribute("name", "session man");//3
application.setAttribute("name", "application man"); //4
pageContext.setAttribute("name", "page man"); //1
%>
<h2></h2>
<!--사실 이들이 겹칠일을 없지만아래와 같이 지목할 수도 있다. -->
name: ${name}<hr>
page속성: ${pageScope.name }<br>
request 속성: ${requestScope.name}<br>
session 속성: ${sessionScope.name}<br>
application 속성 : ${applicationScope.name}<br>
</body>
</html>
|
cs |
- EL 영역에도 JSP의 내장 객체처럼 꼭 필요한 객체들이 11개 제공됩니다. 이들은 임포트 없이 그냥 사용할 수 있겠죠.
내장 객체 | 사용법 |
pageScope | page영역에 존재하는 객체를 참조 할때 사용 |
requestScope | request 영역에 존재하는 객체를 참조할때 사용 |
sessionScope | session 영역에 존재하는 객체를 참조할때 사용 |
applicaionScope | application 영역에 존재하는 객체를 참조할때 사용 |
param | 파라미터 값을 얻어올때 사용 |
header | Header 정보를 언어올때 사용 |
headerValues | Header의 정보를 배열로 얻어올때 사용 |
cookie | 쿠키 객체를 참조 할때 사용 |
initParam | 컨텍스트의 초기화 파라미터를 의미함 |
pageContext | pageContext 객체를 참조할때 사용 |
- (EL) 표현 언어의 연산자
실제로 EL의 연산자는 자바뿐 아니라 일반적인 프로그래밍 언어에서 사용하는 연산자와 거의 유사합니다.
아래 간단한 예시를 참고해봅니다.
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>EL</title>
</head>
<body>
<p>#표현 언어(EL,Expression Language : JSP의 전달값이나 변수값등 자료를 출력할때의 번거로움
을 해결하기위해 만들어진 출력 문법입니다.<p>
<h2>표현언어</h2>
1.JSP문법사용 1 : <%="Hello"%><br>
2.JSP문법사용 2 : <%="Hello"%><br>
3.EL 문법사용 :${"Hello"}<br>
<h2>EL : 문법</h2>
정수형:${10}<br>
실수형:${3.141592}<br>
문자열형:${"홍길동"}<br>
논리형:${true}<br>
null: ${null}(비어있어서 아무것도 안보임.)<br>
<h2>EL : 산술연산자</h2>
10과2의 합 :${10+2 }<br>
<!-- 역슬러시 활용 \${10-2}는 모양을 출력, ${10-2}는 계산결과 출력. -->
\${10-2 } : ${10-2}<br>
\${10*2 } : ${10*2}<br>
\${10/2 } : ${10/2}<br>
\${10%3 } : ${10%3}<br>
\${10 mod 3 } :${10 mod 3 }<br>
<h2>EL : 비교연산자</h2>
10과2의 합 :${10+2 }<br>
\${10==2 } : ${10==2}<br>
\${10 eq 2 } : ${10 eq 2}<br>
\${10<2 } : ${10<2}<br>
\${10 lt 15 } : ${10 lt 15}<br>
<!--10보다 15가 초과냐? 반대는 GT -->
\${5 >= 4 } :${5 >= 4 }<br>
\${empty("") } :${empty("") }<br>
<!--empty("")잘 사용한다. 로그인 값 비었나 확인시 -->
<h2>EL : 서로다른 자료형간의 연산</h2>
<%--
\${2+"5" } : ${2+"5"}<br>
\${2*"5" } : ${2*"5"}<br>
\${null +1} : ${null +1}<br>
--%>
<!--숫자로 자동연산됨! -->
<%--
//error
\${"나라"+"사랑" } : ${"나라"+"사랑" }<br>
\${"일"+5 } : ${"일"+5}<br>
--%>
<h2>EL : 문자열의 연결(EL:3.0추가)</h2>
\${"문자"+="열"+="연결" } = ${"문자"+="열"+="연결" }<br>
<h2>셋어트리뷰트하고 페이지에선 \${name} 만쓰면 겟에트리뷰트 한것과 같다.</h2>
<%
request.setAttribute("name", "홍길동");
pageContext.setAttribute("name", "강감찬");
%>
<%=request.getAttribute("name") %><br>
${name }<br>
${requestScope.name }<br>
</body>
</html>
|
cs |
- 실행 예시
#표현 언어(EL, Expression Language : JSP의 전달 값이나 변숫값 등 자료를 출력할 때의 번거로움 을 해결하기 위해 만들어진 출력 문법입니다.
표현 언어
1.JSP문법 사용 1 : Hello
2.JSP문법 사용 2 : Hello
3.EL 문법 사용 :Hello
EL : 문법
정수형:10
실수형:3.141592
문자열형:홍길동
논리형:true
null: (비어있어서 아무것도 안 보임.)
EL : 산술 연산자
10과 2의 합 :12
${10-2 } : 8
${10*2 } : 20
${10/2 } : 5.0
${10%3 } : 1
${10 mod 3 } :1
EL : 비교 연산자
10과 2의 합 :12
${10==2 } : false
${10 eq 2 } : false
${10 <2 } : false
${10 lt 15 } : true
${5 >= 4 } :true
${empty("") } :true
EL : 서로 다른 자료형 간의 연산
EL : 문자열의 연결(EL:3.0 추가)
${"문자"+="열"+="연결" } = 문자열 연결
셋 어트리뷰트 하고 페이지에선 ${name} 안 쓰면 겟 에트리 뷰트 한 것과 같다.
홍길동
강감찬
홍길동
'Java 공부 > JSP&Servlet' 카테고리의 다른 글
[JSP&Servlet] 왜 게시판 실행 할 때 index.jsp로 시작할까? (0) | 2020.08.23 |
---|---|
[JSP&Servlet] JSP : 내장 객체 "response" 정리하기. (0) | 2020.08.15 |
[JSP&Servlet]JSP : 내장 객체 "request" 정리하기. (0) | 2020.08.15 |
[JSP&Servlet] JSP & Servlet 초기 설정 Eclipse +Tomcat 9.0 , JSP파일 생성 (0) | 2020.08.11 |