Nicht immer den ‚Index“ Wert von for-Schleife der Schleife, wenn in den JSP
Frage
Mein if-Anweisung immer auf falsch zu bewerten und nicht den <span>
Block eingeben. Aufgrund dem, ich bin nicht in der Lage, den Wert von „Index“ in dem, wenn die Bedingung zu bekommen, ich habe alles, was Anfügen Index mit # und% ausprobiert. Kann jemand die Lösung vorschlagen?
<c:forEach var="index" begin="1" end="<%=a%>" step="1">
<s:if test="index == 1">
<span class="currentpage"><b>${page_id}</b></span>
</s:if>
<s:else>
<a href="searchAction.html?page_id=${index}&searchString=${searchString}" class="paginglinks">${index}</a>
</s:else>
</c:forEach>
Lösung
hat es eigentlich ist es ein Konflikt in den Tags ist
es sollte wie sein
<c:forEach var="index" begin="1" end="<%=a%>" step="1" varStatus="status">
<c:choose>
<c:when test="${page_id==index}">
<span class="currentpage"><b>${page_id}</b></span>
</c:when>
<c:otherwise>
<a href="searchAction.html?page_id=${index}&searchString=${searchString}" class="paginglinks">${index}</a>
</c:otherwise>
</c:choose>
</c:forEach>
Andere Tipps
Der Konflikt ist, dass bei dem ersten Beitrag Sie mischen
- JSTL-Tags (die c: forEach)
- Struts-Tags (die s: if)
Ihre vorgeschlagene Lösung funktioniert, weil Sie haben jetzt
- JSTL-Tags (die c: forEach)
- JSTL-Tags wieder (die c: wenn)
Eine weitere gute Lösung wäre,
- Struts-Tags (die s: Iterator)
- Struts-Tags wieder (die s: if)
Im Allgemeinen Tags aus mehreren Technologien erwartet wird, problematisch sein.
Verwendung
test="${index == 1}"
oder versuchen, der varStatus so Attribut ...
<c:forEach var="index" varStatus="status" begin="1" end="<%=a%>" step="1">
<s:if test="${status.count == 1}">
<span class="currentpage"><b>${page_id}</b></span>
</s:if>
<s:else>
<a href="searchAction.html?page_id=${index}&searchString=${searchString}" class="paginglinks">${index}</a>
</s:else>
</c:forEach>
Der Testwert ist nicht auswertbar, es ist nur eine Saite auf der Seite.
Bearbeiten, Sie haben Sie stolzieren Syntax verwenden.
Fügen Sie "% {}", etwa so:
<s:if test="%{index == 1}">