| 일 | 월 | 화 | 수 | 목 | 금 | 토 | 
|---|---|---|---|---|---|---|
| 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 | 
- strtotime()
 - scanner 연습문제
 - ER 마스터 사용법
 - 웹에 데이터를 전송하는 방법
 - 코드 정리
 - github
 - DDL
 - 코드이그나이터
 - PLSQL 설치
 - 자바스크립트
 - 자바
 - 이클립스
 - [Eclipse] 이클립스 마켓플레이스 (Marketplace) 사용방법
 - 톰캣 9.0 설치
 - 오라클 초기 셋팅
 - 자동 배포
 - 기초 HTML
 - 이클립스 서버연동
 - 개발 일기
 - CMD
 - id 체크
 - oracle datatype
 - php
 - 코드 처리 시간
 - js
 - Oracle
 - php 날자 함수
 - Nexacro
 - 이클립스 프로젝트 변경
 - 실행파일만들기
 
- 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 |