никогда не возвращает false

У меня проблема с JSTL и пустой оператор. Я уже сделал несколько простых страниц, и все работало нормально, но теперь у меня есть:

    <%@ 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>

теперь, независимо от того, установлен ли я атрибут записей или нет, появляется кнопка удаления:

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

в нормальной ситуации атрибут записей я передаю ArrayList и затем используйте foreach, но иногда ArrayList пуст, поэтому в таких ситуациях я не хочу, чтобы отображалась кнопка удаления, я боролся с тем, что самый простой способ добиться этого - использовать этот пустой оператор.Где я делаю ошибку?

Я даже пытался вручную установить для этого атрибута значение null:

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

РЕДАКТИРОВАТЬ: @Qwe: да, вы правы, у меня это сработало раньше, потому что я проверял, был ли атрибут пустым на моем пути, это всегда было правдой, потому что я использовал неправильную конструкцию, но это сработало, потому что я просто хотел показать одну строку, если она была no String ничего не появилось, поэтому я подумал, что все работает нормально.

8
задан BalusC 12 February 2012 в 19:04
поделиться