-2

我有这个迭代器。

<s:iterator value = "myQuestions"  status="key">

<s:property value="%{#key.index}" />
<h1><s:property value = "myQuestions[%{#key.index}].question"/></h1>

</s:iterator>

当迭代器对此进行迭代时

<s:property value="%{#key.index}" />

它显示正确的索引。但是当我添加%{#key.index} 这个

 <h1><s:property value = "myQuestions[%{#key.index}].question"/></h1>

它不显示处于该特定索引的元素。

因此,假设当前索引为 0。

当我这样做时,<s:property value = "myQuestions[%{#key.index}].question"/>它不会显示任何内容。但是当我硬编码它时。

<s:property value = "myQuestions[0].question"/> it displays the proper item. what am I missing?
4

1 回答 1

1

你打破了评估。它应该更接近:

%{myQuestions[#key.index].question}

但是,这是非常多余的,因为您正在迭代,并且集合中的每个对象都将被推入堆栈,因此您需要引用的只是question.

var如果需要命名每个对象,也可以使用该属性。

考虑查看迭代器标签文档。

于 2013-03-27T01:38:08.763 回答