ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • EL(Expression Language)란?
    백엔드/서블릿&JSP 2021. 1. 14. 16:51

    EL이란?

    EL이란 Expression Language의 약자로서 JSP에서 자바코드를 더욱 간결하게 하기 위해 만들었다.

     

    어떻게보면 완벽하게 자바 코드를 JSP에서 걷어내고 EL을 통해 가독성을 높이고자 한 것이다.

     

    다른 JSP 파일로 입력한 숫자값을 전달하는 form을 가진 JSP 파일이 있다고 가정해보자.

     

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    	<form action="NewFile4.jsp" method="get">
    		<input type="text" name="num">
    		<input type="submit">
    	</form>
    </body>
    </html>

     

    일반 JSP 파일에서는 위와 같은 form을 통해 전달된 파라미터 num을 받기 위해

     

    아래와 같이 자바 코드를 삽입한다.

     

     

     

    하지만 EL을 사용하면 아래와 같이 간략하게 표현이 가능하다.

     

     

    파라미터로 넘어오는 값 중 이름이 num인 값을 출력하겠다는 의미다. 결과물도 당연히 같다.

    EL의 기본 표현법

    EL을 사용하기 위해서는 아래와 같이 $ 기호 뒤에 중괄호 { }를 붙이고 그 안에 표현식을 넣으면 된다.

     

    - ${ 표현식 }

     

    ${'EL입니다'} => "EL입니다" 출력
    
    ${ 5*2 } => 10 출력

     

    EL은 단순히 전받은 값만 나타내는 것이 아니라 중괄호 안에서 위의 코드처럼 연산도 가능하다.

     

    그리고 EL을 통해 나타낼 수 있는 자료형태는 아래와 같다.

     

    입력값

    형태

    출력값

    ${5}

    정수

    5

    ${4/3}

    실수

    1.3333333333333333.....

    ${'문자열'}

    문자열

    (작은따옴표써야 함)

    "문자열"

    ${param.num > 5}

    boolean

    만약 이름이 'num'이 파라미터 값 5보다 크면 true,

    아니면 false

    ${ null }

    null

    공백인 문자열

    EL에서 사용 가능한 연산자

    일부 연산자는 영어 알파벳으로 된 연산자를 추가적으로 지원하는데

     

    이는 HTML 태그나 JSP 내 자바코드들을 쓸 때 사용하는 %, <> 등의 기호와 구분하기 위해 쓴다.

     

    종류

    연산자

    설명

    산술 연산자

    +

    더하기

    -

    빼기

    *

    곱하기

    / 또는 div

    나누기

    % 또는 mod

    나머지

    비교 연산자

    == 또는 eq

    같음

    != 또는 ne

    다름

    > 또는 gt

    왼쪽이 큼

    < 또는 lt

    오른쪽이 큼

    >= 또는 ge

    왼쪽이 크거나 같음

    <= 또는 le

    오른쪽이 크거나 같음

    논리연산자

    && 또는 and

    and

    || 또는 or

    or

    ! 또는 not

    not

    empty

    empty

    표현식 안의 값이 비어있을 경우 true 반환

    not empty

    표현식 안의 값이 비어있지 않으면 false 반환

     

     

Designed by Tistory.