Избегайте зацикливания XML в JSTL - PullRequest
2 голосов
/ 30 апреля 2009

Я хотел бы сделать что-то вроде этого:

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

но я думаю, что единственный способ сделать это так:

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

Есть ли способ сделать это больше, чем я хочу?

Ответы [ 3 ]

1 голос
/ 02 мая 2009

Я думаю, что нашел то, что вы ищете здесь :

<x:set var="abook"
select="$applicationScope.booklist/
        books/book[@id=$param:bookId]" />
  <h2><x:out select="$abook/title"/></h2> 
1 голос
/ 03 мая 2009

Благодаря GClaramunt [user 98867], который поставил меня на правильный путь, я нашел правильный ответ:

<x:out select="$productXML/product/sizes/size[$param:sizeIndex]" escapeXml="false"/>
1 голос
/ 01 мая 2009

Не уверен, что вы пытаетесь решить, но вы уверены, что вам нужен <c:out value='${param.sizeIndex}'/> внутри '[]'? JSTL должен обрабатываться одновременно, и вы должны написать что-то вроде:

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

Или, может быть, используя <c:set var="sIdx" value="${param.sizeIndex}" />

Но я не совсем знаком с тегами JSTL XML, чтобы быть на 100% уверенным ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...