Цикл forest JSTL, задающий элементы, начальный и конечный теги с переменной для гибкости
Почему, когда я пытаюсь указать значение для начального и конечного тегов с переменной для гибкости, они всегда приводят к 0 (это 1-й индекс и, следовательно, выводит только 1 запись). [См код ниже]
<%
int maxEntry = 10;
int pageNumber = Integer.parseInt(request.getParameter("page"));
%>
<c:forEach items="${employees}" var="employee" begin="${maxEntry*(pageNumber-1)}" end="${maxEntry*pageNumber}">
Employee <c:out value="${employees}"/><p>
</c:forEach>
но когда я делаю это так:
<c:forEach items="${employees}" var="employee" begin="0" end="10">
Employee <c:out value="${employees}"/><p>
</c:forEach>
работает как положено, выводит 10 записей. Пожалуйста, просветите меня. Заранее спасибо ~
1 ответ
LOL Я получил это. Каким-то образом я понял, как заставить это работать, используя несколько руководств по поиску и поиску:
int pageNumber = pageNumber = Integer.parseInt(request.getParameter("page"));;
int maxEntry = 10;
// setAttribute to be read by JSTL
pageContext.setAttribute("maxEntry", maxEntry);
pageContext.setAttribute("pageNumber", pageNumber);
PS - что я тоже понял, это плохой подход. Я узнал, что вы можете сделать это так:
<c:set var="maxEntry" value="${10}" />
<c:choose>
<c:when test="${empty param.page}">
<c:set var="pageNumber" value="${1}" />
</c:when>
<c:otherwise>
<c:set var="pageNumber" value="${param.page}" />
</c:otherwise>
</c:choose>