首页 > 解决方案 > 如何在 JSTL 中检查 null标签?

问题描述

我正在寻找一种可能性,可以在表格单元格中插入一个变量,或者如果该值结果为空,则在单元格中写入另一个文本,但样式不同。我怎样才能做到这一点?

这显然不起作用:

<c:out value="${data.onlineData.state}" default="<span class="customercare-null"><spring:theme code="productOffline.null" /></span>" escapeXml="false" />

这对我想要实现的目标来说是正确的语法吗?

<c:out value="${data.onlineData.state}">
    <span class="customercare-null"><spring:theme code="productOffline.null" /></span>
</c:out>

我知道 ac:choose 可以解决这个问题,但我想知道上面提供的代码是否也是合法的

先感谢您

标签: jspjstl

解决方案


用于<c:if>检查空值

<c:if test="${empty data.onlineData.state}">
    <span class="customercare-null"><spring:theme code="productOffline.null" /></span>
</c:if>
<c:if test="${not empty data.onlineData.state}">
   <c:out value="${data.onlineData.state}" />
</c:if>

或使用<c:choose>

<c:choose>
    <c:when test="${empty data.onlineData.state}">
        <span class="customercare-null"><spring:theme code="productOffline.null" /></span>
    </c:when>
    <c:otherwise>
       <c:out value="${data.onlineData.state}" />
    </c:otherwise>
</c:choose>

这对我想要实现的目标来说是正确的语法吗?

如果你使用

<c:out value="${data.onlineData.state}">
    <span class="customercare-null"><spring:theme code="productOffline.null" /></span>
</c:out>

然后<span class="customercare-null"><spring:theme code="productOffline.null" /></span>将显示为文本。Html 组件不会呈现。


推荐阅读