0

我正在使用 jsp 开发网络应用程序。

我想要做的是,如果变量不为空,我将显示它,但如果为空,我将-在表格行中显示字符。

到目前为止,这是我的代码,我从这里学到了

<table id="hor-minimalist-a" summary="Employee Pay Sheet">
    <caption>Riwayat Status</caption>
        <thead>
            <tr>
             <th scope="col">Status</th>
             <th scope="col">Tanggal</th>

            </tr>
        </thead>
        <tbody>
            <tr>  
             <td>Tanggal DP</td>
             <c:choose>
               <c:when test="${Transaction.tglDP}">
                <td>${Transaction.tglDP}</td>
               </c:when>
               <c:otherwise}>
                <td>-</td>
               </c:otherwise>
             </c:choose>
</tr>
</tbody>
</table>

但是当我运行网站时,当该变量不为空时,它也会显示值和字符。

我在这里想念什么?

编辑:有关信息,Transaction.tglDP 类型是 java.util.Date

4

2 回答 2

3

您可以使用 not empty 进行空检查,如果您想要 if else 阻止,您也不必执行多个操作,否则只需使用

<c:choose>
      <c:when test="${not empty  Transaction.tglDP}">
            <td>${Transaction.tglDP}</td>
      </c:when>
      <c:otherwise>
            <td>-</td>
      </c:otherwise>
</c:choose>
于 2012-06-04T07:32:19.777 回答
0

最后我知道我的代码有什么问题。因为我是 jsp 的新手,并且我上面的问题中的链接没有提到使用 jstl 库,所以我认为这样编写代码就足够了。我自己的错误。我没有在我的库中包含 jstl.1.2.jar 并忘记放置这一行:

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

并查看来自@mprabhat 的答案。谢谢大家:)

于 2012-06-04T12:36:27.010 回答