user2265200
user2265200

Reputation: 37

Using JSTL, if list is empty - display validation message

I am using JSTL to display values in list

<tbody id="tbNa" >      
            <c:forEach items="${actionBean.excessList.newActiveCustomerExcessUIList}" var="customerExcess" varStatus="loop">
                <c:set var="clientName" value="${customerExcess.clientName}"
                    scope="page"></c:set>
                <c:set var="ultimateParent" value="${customerExcess.ultimateParent}"
                    scope="page"></c:set>
                <c:set var="cif" value="${customerExcess.cif}" scope="page"></c:set>
                <c:forEach items="${customerExcess.excessList}" var="excess">
                    <tr>
                        <td><c:out value="${excess.excessId }"></c:out></td>
                        <td><c:out value="${excess.openDate }"></c:out></td>
                        <td><a href="#" onclick="openClientExcessPage('${cif}');" ><c:out value="${clientName}"></c:out></a></td>
                        <td><c:out value="${ultimateParent}"></c:out></td>
                        <td><c:out value="${excess.excessAmount }"></c:out></td>
                        <td><c:out value="${excess.excessDa}"></c:out></td>
                    </tr>
                </c:forEach>
            </c:forEach>

If list is empty, i have to disply message "No data available".... I am not sure how to do this...

Upvotes: 0

Views: 4008

Answers (3)

thoitbk
thoitbk

Reputation: 269

You can use if tag to check if the list is empty

<c:if test="${empty List}">No data available</c:if>

Upvotes: 0

vjy
vjy

Reputation: 1204

You have to use the choose tag

<tbody id="tbNa" >      

<c:choose>

<c:when test="${empty actionBean.excessList.newActiveCustomerExcessUIList}">

<tr><td colspan="6">No data available</td></tr>

</c:when>

<c:otherwise>

 <c:forEach items="${actionBean.excessList.newActiveCustomerExcessUIList}" var="customerExcess" varStatus="loop">
                <c:set var="clientName" value="${customerExcess.clientName}"
                    scope="page"></c:set>
                <c:set var="ultimateParent" value="${customerExcess.ultimateParent}"
                    scope="page"></c:set>
                <c:set var="cif" value="${customerExcess.cif}" scope="page"></c:set>
                <c:forEach items="${customerExcess.excessList}" var="excess">
                    <tr>
                        <td><c:out value="${excess.excessId }"></c:out></td>
                        <td><c:out value="${excess.openDate }"></c:out></td>
                        <td><a href="#" onclick="openClientExcessPage('${cif}');" ><c:out value="${clientName}"></c:out></a></td>
                        <td><c:out value="${ultimateParent}"></c:out></td>
                        <td><c:out value="${excess.excessAmount }"></c:out></td>
                        <td><c:out value="${excess.excessDa}"></c:out></td>
                    </tr>
                </c:forEach>
            </c:forEach>


</c:otherwise>

</choose>

Upvotes: 1

JB Nizet
JB Nizet

Reputation: 692181

Use c:choose:

<c:choose>
    <c:when test="${empty actionBean.excessList.newActiveCustomerExcessUIList}">
        No data available
    </c:when>
    <c:otherwise>
        <table>
            ...
        </table>
    </c:otherwise> 
</c:choose>

Upvotes: 0

Related Questions