Struts2 使用Struts 2迭代器标记访问ArrayList数组

Struts2 使用Struts 2迭代器标记访问ArrayList数组,struts2,Struts2,我对使用迭代器标记访问jsp中的arraylist数组有疑问 在我的动作课上,我使用了以下代码 ArrayList[] arr= new ArrayList[10]; for(int i = 0; i < 10; i++) { arr[i] = new ArrayList<bean>(); } while (some conditions) { arr[i].add(new bean(some values)); i++; } Arra

我对使用迭代器标记访问jsp中的arraylist数组有疑问

在我的动作课上,我使用了以下代码

ArrayList[] arr= new ArrayList[10]; 

for(int i = 0; i < 10; i++) { 
    arr[i] = new ArrayList<bean>();
} 

while (some conditions) { 
    arr[i].add(new bean(some values)); 
    i++; 
}
ArrayList[]arr=新的ArrayList[10];
对于(int i=0;i<10;i++){
arr[i]=新的ArrayList();
} 
而(某些条件){
arr[i].add(新bean(一些值));
i++;
}
我的问题是。。如何访问迭代器中的arr[0]、arr[1]…arr[n]ArrayList

下面的代码工作得很好,但是请改进它以获得我的结果

<s:iterator value="display.arr[0]">
  ...
</s:iterator>

...

谢谢你的帮助

我想知道你是否看了太多;至少有3-4种方法可以做到这一点,包括使用索引的即时列表、使用
“begin”
/
“end”
属性、使用
“var”
保存外部项(严格来说不是必需的,但在我看来它更容易沟通),等等

假设bean类中有一个名为
“s”
的属性,我称之为
SomeBean


${s}
使用底部的Java代码,这将生成以下输出:

Outer: 0, Inner: 0
Outer: 0, Inner: 1
Outer: 0, Inner: 2
Outer: 1, Inner: 0
Outer: 1, Inner: 1
Outer: 1, Inner: 2
Outer: 2, Inner: 0
Outer: 2, Inner: 1
Outer: 2, Inner: 2
驱动此代码的完整操作;我每次只返回一个新列表,作为示例:

公共类NestedListsAction扩展了ActionSupport{
公共列表getDisplays(){
列表显示=新建ArrayList();
对于(int i=0;i<3;i++){
List innerList=new ArrayList();
对于(int j=0;j<3;j++){
添加(新的SomeBean(String.format(“外部:%d,内部:%d”,i,j));
}
显示.add(内部列表);
}
返回显示;
}
私有类SomeBean{
私有字符串;
公共SomeBean(字符串s){
这个.s=s;
}
公共字符串get(){
返回s;
}
}
}

请注意。通常我不会向新用户提出这个问题,但在我看来,我在回答这个问题上比你在研究这个问题上花费了更多的精力,这让我很沮丧。

如何改进它?我以为你说它起作用了。你好,戴夫。。!谢谢你的回复。。!我刚刚实现了访问数组的单个索引(a[0])。。但我需要的是使用迭代器访问数组的整个索引。。!这就像是,
动态索引在某种意义上,它需要为外部迭代器的每次迭代进行更改或增加!因此,迭代两个列表。您可以嵌套迭代器标记,就像在java中嵌套“for”循环一样<代码>我知道这是一个愚蠢的方法。。!请张贴我的语法,以实现它通过迭代器。。!我不知道如何在嵌套迭代器中给出动态值并增加相同的。。!