如何使用JSTL“if”标记而不得“..attribute test不接受任何表达式”

时间:2010-09-30 11:47:17

标签: jsp jstl el

如何使以下代码生效?

        <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 个答案:

答案 0 :(得分:22)

检查您使用的JSTL标记库的版本。它应该是1.1,所以你应该(注意URI):

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