[JSP] 표현 언어 EL

Bam·2024년 5월 23일
0

Spring

목록 보기
37/48
post-thumbnail

표현 언어 EL

JSP는 문서에서 자바 코드를 제거하는 쪽으로 발전해왔습니다. 자바 코드를 더욱 줄이기 위해 JSP 2.0에서 등장한 것이 표현 언어(EL, Expression Language)JSTL(JSP Standard Tag Library)입니다.

이 중 표현 언어에 대해서 먼저 알아보고 JSTL로 넘어가도록 하겠습니다.

표현 언어는 자바 코드가 사용되는 표현식을 더 쉽고 읽기 좋게 사용하기 위해서 사용하는 데이터 출력 기능입니다.

기존 표현식은 <%=자바 코드 %>와 같은 형태로 사용했었는데요. 이전 포스트들에서 표현식은 입문 수준이라서 간단한 변수명 정도만 썼지만, 실제 서비스에서는 표현식에 들어가는 자바 코드들이 복잡해지기 시작했습니다. 그래서 이를 대체하고자 표현 언어가 등장하게 된 것 입니다.

표현 언어는 다음과 같이 사용합니다.

${표현언어 또는 값}

표현 언어 특징

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

  • 표현식보다 사용하기 편하다.
  • 변수, 연산자를 사용할 수 있다.
  • JSP 내장 객체의 속성이나 자바 빈 속성도 출력할 수 있다.
  • 자체 내장 객체를 제공한다.

표현 언어는 기본 설정으로는 JSP에서 바로 사용할 수 없습니다. 페이지 디렉티브 태그에서 isELIgnored=false 설정을 해주어야 표현 언어를 사용할 수 있게 됩니다.


표현 언어 자료형

표현 언어는 자체적인 자료형을 사용할 수 있습니다. 표현 언어의 자료형은 다음과 같습니다.

타입설명
논리형true, false
정수형10진수와 양의 정수, 음의 정수
실수형소수점, 지수 e
문자열따옴표로된 문자열('', "" 둘 다 가능)
nullnull

표현 언어 연산자

표현 언어에서는 연산자도 사용할 수 있습니다. 표현 언어에서 사용되는 연산자는 다음과 같습니다. 자바처럼 연산자 기호를 사용할 수도 있고, 이를 대체하는 단어로도 사용할 수 있습니다.

연산자설명
+덧셈
-뺄셈
*곱셈
/ 또는 div나눗셈
% 또는 mod나머지 연산
== 또는 eq두 값이 같은지 비교
!= 또는 ne두 값이 다른지 비교
< 또는 lt오른쪽이 더 큰지
> 또는 gt왼쪽이 더 큰지
<= 또는 le오른쪽이 같거나 더 큰지
>= 또는 ge왼쪽이 같거나 더 큰지
&& 또는 and논리곱
or논리합
! 또는 not부정
empty 값값이 null, ""이면 true 반환
식? 값1:값2식의 결과가 true면 값1, false면 값2 반환

or|| 기호로도 표현할 수 있습니다. (마크다운 테이블 기호랑 겹쳐서 따로 첨부합니다.)

<%@ page
        contentType="text/html;charset=UTF-8"
        language="java"
        pageEncoding="UTF-8"
        isELIgnored="false"
%>
<%-- 반드시 isELIgnored="false"로 설정해야 표현 언어 사용 가능!!! --%>
<html>
<head>
    <title>Title</title>
</head>
<body>
10 + 10 = ${10 + 10} <br>
10 / 2 = ${10 div 2} <br>
empty "" = ${empty ""} <br>
empty "hello" = ${empty "hello"}
</body>
</html>

0개의 댓글