empty => 비어있다!!!!
EL에서는 어떻게 쓰일까????? NULL 이다!!!
반대로 NOT NULL 로 쓸떄는 어떻게 표현해야 할까???
not empty 이다. ${ example.box != null } 이렇게 백날 써봤자 소용없다는 얘기!!
${ not empty example.box } 이렇게 써야 한다.
EL is more forgiving than is the Java programming language regarding null values in expressions. In the Java programming language, the expression a.getB().getC()
throws a NullPointerException
if a.getB()
returns null. Not so in EL. The EL expression ${a.b.c}
returns null if ${a.b}
is null -- it does not throw an exception. This makes writing expressions easier. To check for null explicitly, use either the empty operator, or compare the expression to null using == or the is
keyword, like this:
<c:if test="${a.b is null}">
<c:if test="${empty a.b}">
<c:if test="${a.b == null}">
JSP 2.0 Expression Language Tech Tip
EL은 expression의 null 값에 관해서는 자바 프로그래밍 언어보다 더 관대하다. 자바 프로그래밍 언어에서는 a.getB()가 null을 리턴하면, a.getB().getC()
는 NullPointerException
를 발생시킨다. 하지만 EL에서는 만약 ${a.b}
가 null이면 EL expression ${a.b.c}
는 null을 리턴하고 예외를 발생시키지 않는다. 이는 식을 쉽게 작성할 수 있도록 도와준다. Null에 대해 좀 더 명쾌하게 이해하고자 한다면, empty연산자를 사용하거나 ==를 이용해서 식과 null을 비교해보거나, is
키워드를 사용해볼 수 있다.
<c:if test="${a.b is null}"> <c:if test="${empty a.b}">
<c:if test="${a.b == null}">