본문 바로가기

JSP

Expression Language(표현 언어)

○ Expression Language(표현 언어)

JSP에서 브라우저 출력은 주로 표현식 태그를 사용한다


<%= request.getParameter("userid") %>


위와 같은 태그를 간단히 줄이는 방법으로 EL(Expression Language)를 사용한다

  • ${ param.userid }
  • ${ param['userid']}
  • ${ param["userid"]}

■ 표현 언어를 사용하는 규칙

  • 표현 언어는 $로 시작한다
  • $와 { 사이에 공백이 없어야 한다
  • 표현 언어의 문장 구조는 ${ exp }와 같다
  • 표현식 exp에는 산술, 관계, 논리와 같은 기본적인 연산이 가능하다
  • 표현식은 [객체명], [객체명.속성명], [객체명[첨자]], [객체명["속성명"]], [객체명['속성명']]
    과 같은 구조로 구성된다



■ 표현 언어에서 사용되는 Literal(리터럴, 상수)

  • 논리값 : true, false
  • 자바에서 이용되는 정수 : 1, -5, ...
  • 자바에서 이용되는 실수 : 3.1, 4.5E+5, ...
  • 문자열 : 'java', "java"와 같이 큰 따옴표, 작은 따옴표 둘 다 사용 가능
  • null : 아무것도 없다는 의미

EL은 자바 스크립트에서 확장된 Xpath에서 힌트를 얻어 만들어진 언어이다
그러나 EL은 값이 없는 변수(null)에 대해 좀 더 관대하고 데이터 형 변환을 자동으로 해준다
이러한 특징들은 질의 문자열을 처리하는데 주요하게 작용한다

질의 문자열은 서버로 전달될 때 항상 문자열로 보내는데, 서버 프로그램 내에서는 int, boolean으로 사용해야 할 때가 있다
이럴 때 EL을 사용하면 값이 없거나 형 변환 등에 전혀 신경 쓸 필요없이 사용할 수 있다




■ EL 표현

${true}
${false}
${123}
${3.14}
${"JAVA"}
${'java'}




■ EL 연산자
  • 산술 연산자 : +, -, *, /, %, mode
  • 논리 연산자 : &&, ||, !, and, or, not
  • 비교 연산자 : ==, !=, <, >, <=, >=, eq, ne, lt, get, le, ge
  • empty 연산자 : 값이 null이거나 공백 문자인지를 판단하는 연산자
          ${empty ""}  →  true
          ${empty null}  →  true




○ EL에서 지원하는 내장 객체

JSP 페이지에서는 내장 객체를 지원한다. 내장 객체란 내부적으로 변수 선언과 초기화 작업이 자동으로 되는 객체로써
개발자는 내장 객체를 사용할 때 참조변수의 이름을 기억하고 있다가 참조변수로 바로 접근하여 사용할 수 있다


EL에서도 JSP처럼 내장 객체를 지원하므로 필요한 객체는 내장 객체를 참조 변수 이름으로 곧바로 사용할 수 있다


내장 객체 의미
pageContext pageContext를 참조할 때 사용
pageScope pageContext에 등록된 데이터의 이름과 값을 저장하고 있는 map 객체
(page 영역에 존재하는 객체를 참조할 때 사용)
requestScope HttpServletRequest에 등록된 데이터의 이름과 값을 저장하고 있는 map 객체
(request 영역에 존재하는 객체를 참조할 때 사용)
sessionScope HttpSession에 등록된 데이터의 이름과 값을 저장하고 있는 map 객체
(session 영역에 존재하는 객체를 참조할 때 사용)
applicationScope ServletContext에 등록된 데이터의 이름과 값을 저장하고 있는 map 객체
(application 영역에 존재하는 객체를 참조할 때 사용)
param QueryString의 이름과 값을 저장하고 있는 map 객체
(파라미터 값을 얻어올 때 사용)
paramValues 같은 이름으로 전달된 질의 문자열의 이름과 값들을 저장하고 있는 map 객체
(파라미터 값을 배열로 얻어올 때 사용)
cookie 요청을 보낸 클라이언트의 쿠키 이름과 값을 저장하고 있는 map 객체
(쿠키 객체를 참조할 때 사용)
initParam 웹 어플리케이션에 저장한 초기 파라미터의 이름과 값을 저장하고 있는 map 객체
(컨텍스트의 초기화 매개변수명의 값을 반환)




실행 코드




실행 결과


'JSP' 카테고리의 다른 글

JSTL Core Tag  (0) 2020.07.12
JSTL(JSP Standard Tag Library)  (0) 2020.07.10
Statement와 PreparedStatement  (0) 2020.07.08
Connection Pool  (0) 2020.07.08
JDBC 프로그래밍  (0) 2020.07.06