JSTL - using variables in an xpath?

前端 未结 2 1443
遇见更好的自我
遇见更好的自我 2021-01-07 04:20

Here is what I would like to do:


    
         


        
相关标签:
2条回答
  • 2021-01-07 04:34

    Found the answer:

    Using JSTL Data as XPath Variables

    Scoped variables can be used in XPath expressions ($implicitObject:variableName) similar to how they are used in EL (${implicitObject.variableName}). If the implicit object is omitted, scopes will be searched in standard order. Note that the “.” and “[]” notations cannot be used for accessing bean properties.

    from the JSTL Quick Reference Sheet (pdf)

    So my code becomes:

    <x:set var="theNode" select="*[name()=$pageScope:nodeName]" />
    <x:out select="$theNode" />
    
    0 讨论(0)
  • 2021-01-07 04:46

    XSLT has parameters on its own, maybe that could help you. I've found an example here http://www.roseindia.net/jstl/param-xml-jstl-tag.shtml

    I'll try to apply the concept to your example

    ...
    <x:forEach select="$doc//*[name()='item']">
      <x:out select="*[name()='$nodeName']" />
    </x:forEach>
    ...
    

    And then when invoking:

    <x:transform xml="your.xml" xslt="your.xsl">
      <x:param name="nodeName" value="${nodeName}" />
    </x:transform>
    

    I haven't tried it, I don't have the tools nearby. And I don't have your full code neither :)

    Good luck.

    0 讨论(0)
提交回复
热议问题