2016-07-25 31 views
0

Warum versuche ich, Wert für Anfangs- und Ende-Tags mit Variablen für Flexibilität Zwecke, sie immer auf 0 (was ist der erste Index und damit Ausgaben nur 1 Eintrag). [Siehe Code unten]JSTL foreach Schleife, die Elemente angibt, beginnen und enden Tags mit Variablen für Flexibilität

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

aber wenn ich es auf diese Weise tun:

<c:forEach items="${employees}" var="employee" begin="0" end="10"> 
    Employee <c:out value="${employees}"/><p> 
</c:forEach> 

es wie erwartet funktioniert, gibt es 10 Einträge. Bitte erleuchte mich. Vielen Dank im Voraus ~

Antwort

0

LOL Ich habe es. Irgendwie dachte ich mir, wie man es durch etwas mehr googeln und lesen von Handbüchern machen kann:

P.S. - was ich auch dachte, es ist ein schlechter Ansatz. Ich habe gelernt, dass Sie es auch so machen können:

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