У меня проблема с тем, что некоторые JSTL не оценивают 'gt', как ожидалось, какой-то код:
<c:choose>
<c:when test="${param.totalPages > pageLinkCount}">
JSP никогда не отображает содержимое этого блока, а всегда отображает содержимое блока.Что-то в тесте не удалось.
Я попытался найти решение здесь для похожей проблемы , где решение включало добавление объявления, чтобы сообщить движку JSP / JSTL, что переменные являются Longs (онидля меня тоже) ...
<%@ attribute name="currentPage" required="true" type="java.lang.Long" %>
... но я обнаружил, что ошибка:
org.apache.jasper.JasperException: /WEB-INF/jsp/includes/pagination.jsp(4,13) <%@ attribute directive can only be used in a tag file
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:132)
Тест в JSP включает в себя, как это:
<jsp:include page="../includes/pagination.jsp" >
<jsp:param value="${pages}" name="totalPages"/>
....other params
Некоторые тестовые значения выводятся в html:
param.TotalPages: 171
TotalPages: 171 (локальная переменная JSTL Я пытался присвоить значение param.totalPages)
Текущий: 64
Начальная страница: 1
Конечная страница: 171
PageLinkCount: 3