【问题标题】:check if jstl variable is empty by set and out通过 set 和 out 检查 jstl 变量是否为空
【发布时间】:2013-09-02 10:19:58
【问题描述】:

嘿,我想通过 set 和 out 检查 jstl 变量是否为空。

使用 set 创建了一个变量:

<c:set var="prevValue" value="" />

我使用out方法检查了jstl变量是否为空:

<c:when test="<c:out value='${empty prevValue}' />" />
empty
</c:when>
<c:otherwise>
not empty
</c:otherwise>

但我收到的不是空的。为什么会这样??我确实将 prevValue 设置为空字符串,所以从技术上讲这是正确的,对吧?

【问题讨论】:

    标签: java jstl


    【解决方案1】:

    代码将字符串文字放入c:when 标记的test 属性中,该属性需要一个布尔值。简化测试表达式以仅检查 prevValue 是否为空,代码不应在测试中包含 &lt;c:out ... 段。使用:

    <c:when test="${empty prevValue}" />
    

    此外,如果您想继续使用&lt;c:when&gt;,则条件必须包含在&lt;c:choose&gt;

    一个完整的例子:

    <c:choose>
        <c:when test="${empty prevValue}" />
            empty
        </c:when>
        <c:otherwise>
            not empty
        </c:otherwise>
    </c:choose>
    

    【讨论】:

      【解决方案2】:

      你已经有了一个有效的答案,

      但为什么不简单呢?

      <c:if test="${not empty prevValue}">
      
      //not empty 
      
      </c:if>
      

      【讨论】:

      • @nuttynibbles 很高兴它有帮助:)
      猜你喜欢
      • 1970-01-01
      • 2012-02-05
      • 2011-03-20
      • 2021-05-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多