2013-03-27 49 views
-2

我有这个迭代器。Struts2迭代器OGNL索引不起作用

<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}" /> 

迭代迭代它显示适当的指数。但是当我在这个

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

添加%{#key.index}它不会显示谁是某些指数之元素。

让我们说目前的指数是在0

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

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

回答

1

你打破的评价。它应该是更接近:

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

这是相当多余的,虽然,因为你迭代,并且集合中的每个对象将被压入堆栈,因此,所有你需要参考的question

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

考虑检查迭代器标记文档。

+0

我究竟在哪里插入? – user962206 2013-03-27 01:39:20

+0

当我重新提交表单。它会重新填写清单吗? – user962206 2013-03-27 01:40:45

+0

@ user962206 ...在唯一的地方你尝试访问一个特定的问题? – 2013-03-27 01:41:56