我如何验证字符串是否为空或使用JSTL的c标签?

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

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

我想验证它为空或空(我的值是字符串)。


当前回答

这段代码是正确的,但如果您输入了大量的空格(' ')而不是null或空字符串 返回false。

要纠正这个错误,请使用正则表达式(下面的代码检查变量是否为空或空或与org.apache.commons.lang.StringUtils.isNotBlank相同):

<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
        <c:if test="${not empty description}">
            <c:set var="description" value="${fn:replace(description, ' ', '')}" />
            <c:if test="${not empty description}">
                  The description is not blank.
            </c:if>
        </c:if>

其他回答

也检查空白字符串,我建议如下

<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

<c:if test="${empty fn:trim(var1)}">

</c:if>

它还处理空值

这段代码是正确的,但如果您输入了大量的空格(' ')而不是null或空字符串 返回false。

要纠正这个错误,请使用正则表达式(下面的代码检查变量是否为空或空或与org.apache.commons.lang.StringUtils.isNotBlank相同):

<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
        <c:if test="${not empty description}">
            <c:set var="description" value="${fn:replace(description, ' ', '')}" />
            <c:if test="${not empty description}">
                  The description is not blank.
            </c:if>
        </c:if>

这里有一句台词。

EL里面的三元运算符

${empty value?'value is empty or null':'value is NOT empty or null'}
In this step I have Set the variable first:

<c:set var="structureId" value="<%=article.getStructureId()%>" scope="request"></c:set>

In this step I have checked the variable empty or not:

 <c:if test="${not empty structureId }">
    <a href="javascript:void(0);">Change Design</a>
 </c:if>

你可以使用

    ${var == null}

另外。