기타

[JSP] JSTL <c:if>와 <c:choose>에서 NULL값 체크하기

Doshisha 2022. 6. 23. 15:59

개요

이번 글은 JSTL의 <c:if>와 <c:choose>로 NULL값을 체크하는 방법에 대해 이야기해 보려고 한다.

예를 들어?

DB에 게시판 테이블이 있고 그 중 NULL값을 가질 수 있는 컬럼인 수정일(updateDate)이 있고 게시글을 등록하고 한 번도 수정하지 않았다면 당연히 수정일에는 NULL값이 찍혀있을 것이다.

이때 우리는 JSP에서 수정일이 없을 때 "수정 내역 없음" 이라는 문구를 보여줘야 하는 상황이라고 가정할 때 어떻게 NULL값을 처리할 수 있을까?

해결 방법

<!-- <c:when test="${item.updateDate eq null}"> -->
<c:when test="${empty item.updateDate}">
    <div>수정 내역 없음</div>
</c:when>
<c:otherwise>
    <div>${item.updateDate}</div>
</c:otherwise>

위와 같이 ${변수명 eq NULL}이나 ${empty 변수명}으로 NULL값 여부를 판단하고 NULL 값이면 "수정 내역 없음" 문구를 NULL이 아니면 수정일을 보여주는 방식으로 처리할 수 있다.

또한 ${변수명 eq ''} <= 와 같이 빈 문자열로는 NULL을 체크할 수 없다는 것을 주의하자.