2012-02-14 8 views
0

イテレータタグを使用してjspのarraylistの配列にアクセスすることに疑問があります。Struts 2イテレータタグを使用した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++; 
} 

私の質問は、私はARR [0]、ARR [1] ... ARR [n]の配列リストにアクセスすることができますどのように..ですイテレータで..?

次のコードは完璧に動作していますが、私の結果を達成するために改善してください..!

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

回答が高く評価されます。

+1

どのように改善しましたか?私はそれが働いていたとあなたが思った。 –

+0

こんにちは!お返事をありがとうございます..!私はちょうど配列(a [0])の単一のインデックスにアクセスすることを達成しました..しかし、私は必要なのは、イテレータを使用して配列の全体のインデックスにアクセスすることです..! iterator value = "display.arr [dynamic index]"> ... 「 –

+0

」という意味での動的インデックスは、「のようなものです。外部イテレータの反復ごとに変更または増分する必要があります。 –

答えて

0

iterator tag documentionをよく見ると思います。インデックスを直接使用する、"begin"/"end"アトリビュートを使用する、"var"を使用して外側のアイテムを保持する(厳密には必要ではないが、よりコミュニケートしやすい)など、少なくとも3-4の方法があります。

私はSomeBeanを呼んで、Beanクラスに"s"という名前のプロパティを想定します。

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 

<s:iterator value="displays" var="display"> 
    <s:iterator value="#display"> 
    ${s}<br/> 
    </s:iterator> 
</s:iterator> 

下部にJavaコードを使用して、これは次の出力を生成

このコードを実行する完全なアクション。私は例として毎回新しいリストを返すだけです:

public class NestedListsAction extends ActionSupport { 

    public List<List<SomeBean>> getDisplays() { 
     List<List<SomeBean>> displays = new ArrayList<List<SomeBean>>(); 

     for (int i = 0; i < 3; i++) { 
      List<SomeBean> innerList = new ArrayList<SomeBean>(); 
      for (int j = 0; j < 3; j++) { 
       innerList.add(new SomeBean(String.format("Outer: %d, Inner: %d", i, j))); 
      } 
      displays.add(innerList); 
     } 

     return displays; 
    } 

    private class SomeBean { 
     private String s; 

     public SomeBean(String s) { 
      this.s = s; 
     } 

     public String getS() { 
      return s; 
     } 
    } 

} 

SO policy on accepting answersに注意してください。通常、私は新しいユーザーにそれを持ってこないだろうが、IMOはあなたが調査したよりもこの質問に答える努力を費やしたので、落ち込んでしまった。

関連する問題