Pregunta

Me gustaría hacer algo como esto:

<x:out select="$productXML/product/sizes/size[<c:out value='${param.sizeIndex}'/>]" escapeXml="false"/>

pero creo que la única forma de hacerlo es así:

<x:forEach var="size" begin="${param.sizeIndex}" end="${param.sizeIndex+1}" select="$productXML/product/sizes/*">  
    <x:out select="$size" escapeXml="false"/>
</x:forEach>

¿Hay alguna manera de hacerlo más como yo quiero?

¿Fue útil?

Solución 3

Gracias a que GClaramunt [usuario 98867] me puso en el camino correcto, descubrí la respuesta correcta:

<x:out select="$productXML/product/sizes/size[$param:sizeIndex]" escapeXml="false"/>

Otros consejos

¿No estás seguro de qué estás tratando de resolver, pero estás seguro de que necesitas el <c:out value='${param.sizeIndex}'/> dentro de '[]'? JSTL debe procesarse todo al mismo tiempo, y debe poder escribir algo como:

<x:out select="$productXML/product/sizes/size[param.sizeIndex]" escapeXml="false"/>

O tal vez usando <c:set var="sIdx" value="${param.sizeIndex}" />

Pero no estoy totalmente familiarizado con las etiquetas JSTL XML para estar 100% seguro ...

Creo que encontré lo que buscas aquí :

<x:set var="abook"
select="$applicationScope.booklist/
        books/book[@id=$param:bookId]" />
  <h2><x:out select="$abook/title"/></h2> 
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top