Evaluate empty or null JSTL c tags

el, jsp, jstl, string

Solution

How can I validate if a String is null or empty using the c tags of JSTL?

You can use the `empty` keyword in a `<c:if>` for this:

<c:if test="${empty var1}">
    var1 is empty or null.
</c:if>
<c:if test="${not empty var1}">
    var1 is NOT empty or null.
</c:if>

Or the `<c:choose>`:

<c:choose>
    <c:when test="${empty var1}">
        var1 is empty or null.
    </c:when>
    <c:otherwise>
        var1 is NOT empty or null.
    </c:otherwise>
</c:choose>

Or if you don't need to conditionally render a bunch of tags and thus you could only check it inside a tag attribute, then you can use the EL conditional operator `${condition? valueIfTrue : valueIfFalse}`:

<c:out value="${empty var1 ? 'var1 is empty or null' : 'var1 is NOT empty or null'}" />

To learn more about those `${}` things (the Expression Language, which is a separate subject from JSTL), check here.

See also:

- How does EL empty operator work in JSF?

Problem

How can I validate if a `String` is null or empty using the `c` tags of `JSTL`? I have a variable named `var1` and I can display it, but I want to add a comparator to validate it. ``` <c:out value="${var1}" /> ``` I want to validate when it is null or empty (my values are string type).

Original source

Related problems