Hallo,
mal wer kann mir sagen wie man das „normalerweise“ macht, dass wenn ich eine Bean habe die eine Seite repräsentiert „SeitenBean“ und in der ich eine Attribut integrieren möchte „Zeilen“, welches jede einzelne Zeile der SEite enthält (ist nur ein Beispiel…). Nachdem ich im Voraus nicht weiss wieveil Zeilen es werden nehme ich eine ArrayList.
Jetzt gibt es zwei Varianten entweder ich generiere eine ArrayList auseserhalb der Bean und „speichere“ diese per
seitenbeaninstanz.setZielen(ArrayList zeilen)
„auf einen Schlag“ oder ich mache das mit einer Methode
seitenbeaninstanz.setZeile(zeile)
und addiere die Seite dann intern in der settermethode via seitenlist.add(zeile)… dazu.
Meine große Frage ist nun, was ist da „STandard“ bzw. „BestPractice“ (auch in Bezug auf die Beanspezifikation) Gibt es da irgenwelche Vorschriften oder Vorschläge?
Ich hab bis jetzt sehr oft den zweiten Typ gesehen,wo man immer nun einen Wert direkt setzt. ABer das große Problem ist, wenn ich dann auch so eine getterMethode schreibe:
seitenbeaninstanz.getZeile(zeilennr)
Ist, dass ich ja garnicht weiss, wieviel Zeilennummern es überhaupt gibt. Ich würde nämlich gerne alle Zeilennumern ausgeben. Wenn ich Variante 1) nehme dann kann ich darauf einfach einen Iterator/Enumerator anwenden. Bei der zweiten Variante kann ich ja in keinem Falle feststellen wieviele Zeilennumern es gibt, bis auf die Möglichkeit einfach hochzuzählen und auf eine Exception zu warten.
Sollte man dann evtl. alle 4 Varianten implementieren und man kann dann immer beliebig die Werte entweder auf einen Schlag oder einzeln einspeichern und auslesen.
Ich hoffe es wurde klar was mein Problem ist. Ich suche eine „elegante“ Variante wie man Collections/Lists in Beans speichert und wieder darauf zugreift, insbesonder wenn ich „alle in einer Schleife auslesen möchte“ .
Vielen Dank
Julian
ps noch ein kleiner Nachtrag. Es gibt doch diese TagLib Libraries „foreach“ nach welchem Prinzip funktionieren die? Welche Variant können die auslesen und bei der zweiten Variante, wie stellen die Fest wieviele Elemente im Array enthalten sind.
Danke:wink: