问题

如何使用JSTLc标签验证String是否为空?

我有一个名称var1的变量,我可以显示它,但我想添加一个比较器来验证它.

 <c:out value="${var1}" />
 

我想验证它是空的时候(我的值是字符串).

  最佳答案

如何使用JSTL的c标签验证String是否为空?

您可以在 <c:if> 中使用empty关键字:

 <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>
 

或者 <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>
 

或者如果您不需要有条件地呈现一堆标签,因此您只能在标签属性中检查它,那么您可以使用EL条件运算符${condition? valueIfTrue : valueIfFalse}:

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

要了解更多关于这些${}的事情(表达式语言,这是一个单独的主题,从 JSTL ),在这里检查.

另见:

  相同标签的其他问题

jspjstlel