[JSTL] jstl에서 값 비교 연산자(eq, ne, empty)

2020. 2. 29. 01:443_개발/3_5_JSP

jstl에서 가장 자주 사용하면서 간단한 비교 연산자이다.

우선 해당 태그는 c태그이므로 jsp 파일 맨 위에 c태그에 대한 선언이 필요하다.

 

1. c 태그 선언하는 방법

<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt"%>

 

2. c 태그를 이용한 값 비교 연산

연산자 의미
eq equal  즉 해당 값이 같은지를 물어보는 연산자(==)
ne not equal 즉 해당 값이 동일하지 않은지를 물어보는 연산자(!= 또는 <>)
empty 해당 영어와 동일한 의미로 안의 객체의 값이 null 또는 빈값인지 물어보는 연산자

 

사용 방법

 1) eq (==)

  <!-- String 비교 -->
  <c:if test="${user eq 'admin'}"> 
  	어드민
  </c:if>
  
  <!-- 숫자(number) 비교 -->
  <c:if test="${count eq 0}"> 
  	값이 존재하지 않습니다.
  </c:if>
  
  <!-- 객체가 null인지 비교 -->
  <c:if test="${data eq null}"> 
  	null입니다.
  </c:if>

 

2) ne(!= 또는 <>)

 <!-- String 비교 -->
  <c:if test="${user ne 'admin'}"> 
  	어드민이 아닙니다. 
  </c:if>
  
  <!-- 숫자(number) 비교 -->
  <c:if test="${count ne 0}"> 
  	숫자가 0이 아닙니다. 
  </c:if>
  
  <!-- 객체가 null인지 비교 -->
  <c:if test="${data ne null}"> 
  	해당 객체는 null이 아닙니다.
  </c:if>

 

3) emtpy (빈 값 확인)

  <c:if test="${empty map}"> 
  	map이 비었습니다.
  </c:if>
  
  <c:if test="${not empty list}"> 
  	list가 존재합니다.
  </c:if>
  

 

위와 같이 사용한다. 위는 정말 간단한 사용 예시이다.

가장 간단한 코드이면서 가장 많이 사용하는 코드 중 하나이다.

 

업무를 하면서 자주 썼던 방법은

<!-- 값에 따라 css의 값을 변경하는 경우 -->
<span id="test" <c:if test="${nowPage eq 'test'}"> class="on" </c:if>>

<!-- 게시판의 리스트가 존재하는지 확인하는 경우 -->
<c:if test="${not empty list}"> 
  	-- 여기부터 for문을 돌려 게시판 리스트를 노출한다
</c:if>

이런 경우 사용하는 케이스가 많다.