HeidiWeber: Schleife in einer Schleife

Beitrag lesen

Hallo,

ich benötige in einem Webprojekt (Struts) in einer JSP eine Schleife in einer Schleife. Nur wie mache ich das?

Dies ist die Bean:

public class FdzFaqBean {

private String basicYear = "";
   private String statSort = "";

public String getBasicYear() {
      return basicYear;
   }
   public void setBasicYear(String basicYear) {
      this.basicYear = basicYear;
   }

public String getStatSort() {
      return statSort;
   }
   public void setStatSort(String statSort) {
      this.statSort = statSort;
   }

}

Hier die Action, in der ich die Collections fülle (nur Beispielauszug):

Collection mainColl = new ArrayList();
   Collection coll = new ArrayList();
   FdzFaqBean ffB = null;

ffB = new FdzFaqBean();
   ffB.setStatSort("Haus");
   ffB.setBasicYear("2002");
   coll.add(ffB);

ffB = new FdzFaqBean();
   ffB.setStatSort("Haus");
   ffB.setBasicYear("2001");
   coll.add(ffB);

ffB = new FdzFaqBean();
   ffB.setStatSort("Haus");
   ffB.setBasicYear("2003");
   coll.add(ffB);

mainColl.add(coll);

ffB = new FdzFaqBean();
   ffB.setStatSort("Auto");
   ffB.setBasicYear("1965");
   coll.add(ffB);

ffB = new FdzFaqBean();
   ffB.setStatSort("Auto");
   ffB.setBasicYear("1974");
   coll.add(ffB);

ffB = new FdzFaqBean();
   ffB.setStatSort("Auto");
   ffB.setBasicYear("1936");
   coll.add(ffB);

ffB = new FdzFaqBean();
   ffB.setStatSort("Auto");
   ffB.setBasicYear("1998");
   coll.add(ffB);

mainColl.add(coll);

ffB = new FdzFaqBean();
   ffB.setStatSort("Kind");
   ffB.setBasicYear("1865");
   coll.add(ffB);

ffB = new FdzFaqBean();
   ffB.setStatSort("Kind");
   ffB.setBasicYear("1823");
   coll.add(ffB);

ffB = new FdzFaqBean();
   ffB.setStatSort("Kind");
   ffB.setBasicYear("1896");
   coll.add(ffB);

ffB = new FdzFaqBean();
   ffB.setStatSort("Kind");
   ffB.setBasicYear("1836");
   coll.add(ffB);

mainColl.add(coll);

request.setAttribute("fdzFaqs", mainColl);

Hier die Ausgabe in der JSP:

<logic:iterate id="faq" name="fdzFaqs">
   aussere Schleife
   <logic:iterate id="faq" name="faq">
      innen
   </logic:iterate>
</logic:iterate>

Die Ausgabe ist folgende:
aussere Schleife innen innen innen innen innen innen innen innen innen innen innen aussere Schleife innen innen innen innen innen innen innen innen innen innen innen aussere Schleife innen innen innen innen innen innen innen innen innen innen innen

Die innere Schleife soll aber von der ausseren Schleife abhängig sein. Wie macht man das?

Dann noch ein weiteres Problem. Wie gebe ich in der inneren Schleife den Inhalt von statSort aus?

Ich habe das so probiert:

<logic:iterate id="faq" name="fdzFaqs" property="statSort">
    <bean:write name="faq"/>
</logic:iterate>

Dann kommt als Fehler:
No getter method for property statSort of bean fdzFaqs'

Die Getter-Methode ist doch aber da?

Vielen Dank
Grüße
Heidi