Vector aus Bean "holen" / JSP

vsk

Aktives Mitglied
Hi

Ich hole mir mittels einer Bean Daten aus meiner mySQL DB.
Diese speichere ich alle in einem Vector.

Auf meiner JSP Seite möchte ich nun die Daten aus dem Vector in einer DropDown Liste
anzeigen.
Aber ich finde den Befehl nicht, wie man einen ganzen Vector aus einer Bean holt.
In den Beispieln sind es immer nur Einzelwerte, was ja auch kein Problem ist.
Beispiele mit DBs packen den ganzen Code immer gleich mitten mit in die JSP Seite, schön fürs Beispiel aber ich wollte den Coden schon ganz gerne trennen.
 
Benutzt die JSF? (Java Server Faces)

Dann könntest du es nämlich folgendermassen lösen:

Java:
<h:selectOneMenu id="myDropdown" value="#{myBean.currentItem}"> 
  <f:selectItems value="#{myBean.itemList}" />
</h:selectOneMenu>


Das Bean würde dann etwa so aussehen (betreffende Stelle):

Java:
public class MyBean() {
      private String currentItem = "Vorbelegt";
      private Vector<String> itemList = new Vector<String>();

      public String getCurrentItem() {
           return currentItem;
      }

      public void setCurrentItem(String str) {
           this.currentItem = str;
      }

      public Vector<String> getItemList() {
           return itemList;
      }

      public void setItemList(Vector<String> il) {
           this.itemList = il;
      }
       
      public MyBean() {
           this.itemList.add("Value1");
           this.itemList.add("Value2");
           this.itemList.add("Value3");
      }
}


Natürlich sollte das Bean dann in der faces-config.xml registriert sein. Mit "myBean" als Name.



Soweit mein Vorschlag. 🙂

Zireal
 
Hallo.

Danke fuer die Antwort.
Ich benutze keine JSF, da blicke ich noch nicht durch. Es ist mal wieder alles ein wenig knapp in der Zeit.

Wenn ich es richtig verstehe, hat die Liste in Deinem Beispiel auch nur 3 Einträge. Ich kann aber nicht vorher sagen, wieviele Einträge es für die DropDownListe geben wird.
Zumindest sollte es so sein, das Feature hab ich gestrichen, jetzt ist die Auswahl fix.

Trotzdem Danke.
 
In meinem Beispiel wird im Bean-Konstruktor der Liste einfach drei Einträge hinzugefügt. Es könnten jedoch auch 30 sein. Die DropDown würde sich der Menge anpassen. Das ist der entscheidende Vorteil. 😀

Dynamik. 🙂


Aber gut, dass die Lösung (auch wenn fix... *hust*) für dich funktioniert.
Trotzdem würde ich dir empfehlen bei Gelegenheit einmal JSF zu "konsultieren". 😉


Zireal
 

Zurück
Oben