[java] JSTL 부등호 모음

2024. 5. 7. 23:08JSP

부등호 설명에 앞서 왜 ==를 사용하지않고 eq를 사용해야하는건지 궁금하였습니다.

잠깐 찾아보니 2가지 이유가 있었습니다.

 

    1. 문법적 이유: JSTL은 XML 기반의 문법을 사용합니다. XML에서는 특정 문자를 이스케이프(escape) 처리해야 하는데, ==는 XML에서 사용되는 특수문자 중 하나입니다. 이를 방지하기 위해 eq를 사용하여 XML에서도 유효한 문법을 유지할 수 있습니다.
    2. 가독성 및 명확성 강화: eq는 'equal'의 약자로, 비교 연산자의 의도를 더 명확하게 전달합니다.  코드를 읽는 사람이  부등호 ==를 보다 쉽게 이해할 수 있습니다. 특히, JSP와 같은 템플릿 엔진을 사용하는 경우에는 가독성이 매우 중요합니다.

따라서, JSTL에서는 eq를 사용하여 가독성을 높이고 문법적 오류를 방지하기 위해 == 대신에 eq를 권장합니다.

  • == eq
  • !=  ne
  • < lt
  • > gt
  • <= le
  • >= ge

사용 예시 

<c:if test="${string eq 'admin'}">

string 이 admin 인 경우 

</c:if>

 

<c:if test="${string ne 'admin'}">

string 이 admin 이 아닌경우 

</c:if>

 

<c:if test="${int lt 10}">

int가 10보다 작은경우 

</c:if>

 

<c:if test="${int gt 10}">

int가 10보다 큰경우

</c:if>

 

<c:if test="${int le 10}">

int가 10보다 작거나 같은경우

</c:if>

 

<c:if test="${int ge 10}">

int가 10보다 크거나 같은경우

</c:if>