Как использовать тег "if" JSTL, не получая ".. тест атрибута не принимает никаких выражений"

Как я могу сделать следующий код?

        <c:if test="${null != searchResults}" >
            <c:forEach items="${searchResults}" var="result" varStatus="status">

Я пробовал много разных вариантов этого, например:

<c:if test="${searchWasPerformed}" >

или

<c:if test="<%=request.getAttribute("searchWasPerformed") %>" >

и даже

<% boolean b = null != request.getAttribute("searchResults"); %>
    <c:if test="${b}" >

Какой выглядит ДЕЙСТВИТЕЛЬНО некрасиво:/ Но я продолжаю получать

org.apache.jasper.JasperException: /WEB-INF/jsp/admin/admin-index.jsp(29,2) PWC6236: According to TLD or attribute directive in tag file, attribute test does not accept any expressions

Как мне обойти это?

Ответы

Ответ 1

Проверьте версию используемого вами тега JSTL. Он должен быть 1,1, поэтому вы должны иметь (обратите внимание на URI):

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