为JSTL XML属性提供动态值

时间:2012-11-06 07:24:57

标签: xml jsp jstl

我想为JSTL XML中的select属性赋予动态值

  

我有以下代码

<x:forEach var="product" begin="${startRange}" end="${endRange}" select="$doc/queryProductResponse/product">
 <c:set var="nameElement" value="name"/>
 <tr class="tableRow">
          <td>
            <x:out select="$product/[nameElement]" />
          </td>
  </tr>

这里我正在阅读产品xml,我想动态地找到元素值。所以无论我想要得到什么元素都存储在变量中。在上面的代码中我将元素名称存储在一个名为nameElement的变量中,我试图传递到x:out标签的select属性。但它无法正常工作。无论如何都要使用JSTL动态指定元素名称?

1 个答案:

答案 0 :(得分:0)

我得到了答案。使用XPath名称函数,我们可以动态指定属性名称。

<c:set var="elementName" value="description"/> 
<x:out select="$product/*[name()=$elementName]" />