[EL] 표현 언어

Beom J·2021년 6월 29일
0

Java

목록 보기
6/8

EL ( Expression Lang )

jsp 에 쓰이는 표현 방법은 참 다양하게 있는 듯.

  • <% %> 표현식
  • EL 표현 언어
  • JSTL

어느새 이렇게 3가지를 배웠고........ 정리의 필요성이 아주 강하게 느껴진다.....
일단 먼저 EL 에 대해서 정리하고 JSTL 정리하기!

EL : Expression Lang 이라는 뜻으로, 말 그대로 표현 언어라는 뜻이다.
표현식이 <%= 값 %> 의 형식으로 데이터를 표현했다면, 표현언어는 ${ 값 } 으로 표현한다.

EL 을 사용할때 JSP 상단에 <%@ page isELIgnored=“true” %> 를 적어주기도 하는데,
false 가 디폴트 값이고, true 면 EL 식을 쓸 수 없다. ( ignored ... 아주 직관적이쥬? )

<%= 값 %> 과 ${ 값 }

<table width="800" border="1">
  <tr>
    <td width="300"></td>
    <td><%=2%></td>
  </tr>
  <tr>
    <!-- ${ } 를 문자로 출력하기 위해서 \ 붙여줌 -->
    <td>\${2 }/ \${ "2" }</td>
    <td>${ 2 } / ${ "2" }</td>
  </tr>
  <tr>
    <td></td>
    <td><%-- 선언되지 않은 표현식은 사용 불가 <%= data %> --%></td>
  </tr>
  <tr>
    <td></td>
    <!-- EL 은 선언 안된 변수 사용해도 에러가 안남 -->
    <td>데이터 : ${ data }</td>
  </tr>
</table>

위의 코드에서 data는 어디에도 선언되지 않은 변수이다.
이 때 <%= data %> 는 에러가 뜨지만 ${ data } 는 브라우저에서 그냥 공백처리 될 뿐 에러가 뜨지 않는다.

EL 연산

EL 표현식 안에서 연산처리도 가능한데, 몇가지는 영어로 쓰인다.

EL 표현식 결과
더하기 : ${ 2 + 5 } 7
나누기 : ${ 2 div 5 } 0.4
나머지 : ${ 2 mod 5 } 2
문자열 연산 : ${ "10" + 1 } 11
문자열 연산 2 : ${ "일"}${1 } 일1
null 연산 : ${ null + 1 } 1
비교연산 : ${ 2 < 3} true
비교연산 2 : ${ 2 lt 3} true
empty : ${ empty data } true
삼항연산 : ${ (2 < 3) ? "작다" : "크다" } 작다

...ing...

profile
네..? 개발자요...? 아....직 일걸요...?

0개의 댓글