<c:if test='${nicht leer "${records}"}'> nie falsch

Ich habe ein problem mit JSTL und leer-operator. Ich habe bereits einige einfache Seiten und alles hat gut funktioniert, aber nun habe ich:

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
    <html>
    <body>

     <form action="/Projekt/myaccount" method="post">
    <table border="1">
        <tr>
                 <td>Artist</td>
                 <td>Record Name</td>
                 <td>Delete</td>
         </tr>
        <c:forEach var="item" items="${records}">
         <tr>
                 <td>${item.artist}</td>
                 <td>${item.recordName}</td>
                 <td>
                    <input type="checkbox" name='${item.recordName}|${item.recordName}'/>
                 </td>
         </tr>
        </c:forEach>
    </table>
    <hr/>
        <input type="submit" name="back" value="back"/>
        <c:if test='${not empty "${records}"}'>
               <input type="submit" name="delete" value="delete selected"/>
        </c:if>
     </form>
    </body>
    </html>

nun egal, wenn ich die Datensätze Attribut oder nicht, die löschen-Schaltfläche wird:

<c:if test='${not empty "${records}"}'>
           <input type="submit" name="delete" value="delete selected"/>
    </c:if>

in einer normalen situation, um Datensätze Attribut passiere ich die ArrayList und dann foreach verwenden, aber manchmal ArrayList ist leer, so dass in diesen Situationen, die ich nicht wollen, löschen-Taste, zu zeigen, kämpfte ich, dass der einfachste Weg, dies zu erreichen, wäre die Verwendung dieser leer-operator. Wo bin ich einen Fehler zu machen?

Ich habe sogar versucht, manuell setzen Sie dieses Attribut auf null:

if (ar.size() != 0)
    request.setAttribute("records", ar);
else
    request.setAttribute("records",null);

BEARBEITEN:
@Qwe: ja du hast Recht, es hat bei mir vor, weil ich getestet habe, wenn Attribut leer war in meinem Weg, es war immer wahr, weil ich falsch konstruieren, aber es funktioniert, weil ich nur zeigen wollte, einen string, wenn es keine String nichts auftauchte, so dass ich dachte, dass alles geklappt hat.

InformationsquelleAutor Andna | 2012-02-11
Schreibe einen Kommentar