Vermeiden Sie Looping xml in jstl
Frage
Ich möchte etwas tun:
<x:out select="$productXML/product/sizes/size[<c:out value='${param.sizeIndex}'/>]" escapeXml="false"/>
aber ich denke, der einzige Weg, zu tun, ist es wie folgt aus:
<x:forEach var="size" begin="${param.sizeIndex}" end="${param.sizeIndex+1}" select="$productXML/product/sizes/*">
<x:out select="$size" escapeXml="false"/>
</x:forEach>
Gibt es eine Möglichkeit, es mehr wie die Art und Weise zu tun, ich will?
Lösung 3
Dank GClaramunt [user 98867] mich setzen auf der rechten tack, entdeckte ich die richtige Antwort:
<x:out select="$productXML/product/sizes/size[$param:sizeIndex]" escapeXml="false"/>
Andere Tipps
Nicht sicher, was Sie versuchen zu lösen, aber sind Sie sicher, dass Sie die <c:out value='${param.sizeIndex}'/>
innerhalb des ‚[]‘ müssen? JSTL sollten alle zur gleichen Zeit bearbeitet werden, und Sie sollten wie etwas schreiben können:
<x:out select="$productXML/product/sizes/size[param.sizeIndex]" escapeXml="false"/>
Oder vielleicht mit <c:set var="sIdx" value="${param.sizeIndex}" />
Aber ich bin nicht völlig vertraut mit JSTL XML-Tags zu 100% sicher zu sein ...
Ich glaube, ich gefunden, was Sie suchen hier
<x:set var="abook"
select="$applicationScope.booklist/
books/book[@id=$param:bookId]" />
<h2><x:out select="$abook/title"/></h2>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow