본문 바로가기

개발/Java

[JAVA - WEB] JSP 표현 언어(Expression Language)

728x90
반응형
표현 언어

 

표현 언어는 자바코드가 들어가는 표현식을 좀 더 편리하게 사용하기 위해 JSP 2.0 부터 도입된 데이터 출력 기능입니다.

표현 언어의 특징은 다음과 같습니다.

- 기존 표현식보다 편리하게 값을 출력합니다.
- 변수와 여러가지 연산자를 포함할 수 있습니다.
- JSP 의 내장 객체에 저장된 속성 및 자바의 빈 속성도 표현 언어에서 출력할 수 있습니다.
- 표현 언어 자체 내장 객체도 제공됩니다.
- JSP 페이지 생성 시 기본 설정은 표현 언어를 사용할 수 없으므로, 페이지 디렉티브 태그로 반드시 isELIgnored = false 로 설정해야 합니다.

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"
    isELIgnored="false" %>

 

표현 언어 형식

${표현식 or 값}

 

 

표현 언어의 여러가지 연산자

 

연산자 종류 연산자 기능
산술 연산자 + 덧셈$
${ 10 + 1}
- 뺄셈
${10 - 1}
* 곱셈
${10 * 1}
/ or div 나눗셈
${10 / 1}
% or mod 나머지 
${10 % 1}
비교 연산자 == or eq 두 값이 같은지 비교
${ "hello" == "hello"}
!= or ne 두 값이 다른지 비교
${''hello" != "hello"}
< or lt 값이 다른 값보다 작은지 비교
${ 100 < 10}
> or gt 값이 다른 값보다 큰지 비교
${100 > 10}
<= or le 값이 다른 값보다 작거나 같은지 비교
${100 <= 10}
>= or ge 값이 다른 값보다 크거나 같은지 비교
${100 >= 10}
논리 연산자 && or and 논리곱 연산
${(10==10) && (20==20)}
|| or or 논리합 연산
${(10==10) || (20==20)}
! or not 부정 연산
${!(20==20)}
empty 연산자 empty <값> 값이 null 이거나 빈 문자열이면 true(비었는지 확인)
${empty "hello"}
조건 연산자 <수식> ? <값1> : <값2> 수식의 값이 참이면 값1 을 반환하고 거짓이면 값2 를 반환(삼항 연산자)
${ 10 > 20 ? true : false}

 

 

 

표현 언어 내장 객체(내장 변수)

 

JSP 는 기본적으로 내장 객체들을 제공하지만 이 객체들은 표현식에서만 사용할 수 있습니다. 
따라서 표현 언어에서는 따로 내장 객체들을 제공합니다. 
표현 언어에서 제공하는 내장 객체들은 ${} 안에서만 사용할 수 있습니다.

 

구분 내장 객체 기능
스코프 pageScope JSP 의 page 와 같은 기능을 하고 page 영역에 바인딩 된 객체 참조
requestScope JSP 의 request 와 같은 기능을 하고 request 영역에 바인딩 된 객체 참조
sessionScope JSP 의 session 과 같은 기능을 하고 session 영역에 바인딩 된 객체 참조
applicationScope JSP 의 application  같은 기능을 하고 application 영역에 바인딩 된 객체 참조
요청 매개변수 param request.getParameter() 메서드를 호출한 것과 같으며 한 개의 값을 전달하는 요청 매개변수를 처리
paramValues request.getParameterValues() 메서드를 호출한 것과 같으며 여러 개의 값을 전달하는 요청 매개변수를 처리
헤더 값 header request.getHeader() 메서드를 호출한 것과 같으며 요청 헤더 이름의 정보를 단일 값으로 반환
headerValues request.getHeader() 메서드를 호출한 것과 같으며 요청 헤더 이름의 정보를 배열로 반환
쿠키 값 Cookies 쿠키 이름의 값을 반환
JSP 내용 pageContext pageContext 객체를 참조할때 사용
초기 매개변수 initParam 컨텍스트의 초기화 매개변수 이름의 값을 반환

 

이 외에도 빈이나 ArrayList, HashMap 등을 다양하게 사용할 수 있는데 중요한 것은 ${...} 이 형식을 써서 표현한다는 것입니다.

 

여기까지 임미다.

728x90