Announcement

Collapse
No announcement yet.

Problem mit selectOneListbox und Java LinkedList

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Problem mit selectOneListbox und Java LinkedList

    Hallo,

    ich habe ein Problem mit meiner selectOneListbox
    Vielleicht kann mir ja jemand helfen.

    Ich habe eine LinkedList von Java, in die ich Personen speichere.
    Diese Personen möchte ich nun in der Listbox anzeigen. (So, dass man auch
    irgendwann mal eine auswählen kann).
    Leider werden mir aber die Personen nicht angezeigt ... Ich weiß leider nicht, woran das liegen könnte ... (bin auch noch totaler Anfänger).

    Hier mal mein Code:

    Code:
    public class Test implements TestInterface
    {
    @In(required=false) @Out(required=false)
    	 LinkedList<Person> personenListe = new LinkedList<Person>();
    	 @In(required=false) @Out(required=false)
    	 Person person1 = new Person(1, "Bisamratte", "Moritz");
    	 @In(required=false) @Out(required=false)
    	 Person person2 = new Person(2, "Katze", "Max");
    	 @In(required=false) @Out(required=false)
    	 Person person3 = new Person(3, "Katzenfreund", "Anna");
    
             public String start() {
                    personenListe.add(person1);
    		personenListe.add(person2);
    		personenListe.add(person3);
    
              return "/test2";
              }
    }
    
    JSF:
    h:selectOneListbox size="10" value="#{personenListe}">
    		<f:selectItem itemValue="#{personenListe}"  
                                          itemLabel="#personenListe}" />
    	</h:selectOneListbox>
    Hat jemand einen Rat, warum meine Objekte aus der Liste nicht in der
    Box angezeigt werden?
    Liegt es daran, dass es Objekte sind? Muss eventuell die toString()-Methode
    überschrieben werden?

    Vielen Dank für Eure Hilfe im Voraus!

    Gruß,
    -=cats=-

  • #2
    Wer die Doku lesen kann ist klar im Vorteil:
    SelectItem:
    http://java.sun.com/javaee/javaserve...electItem.html

    itemLabel false false javax.el.ValueExpression
    (must evaluate to java.lang.String) Label to be displayed to the user for this option.
    also *ein* String

    itemValue false false javax.el.ValueExpression
    (must evaluate to java.lang.Object) Value to be returned to the server if this option is selected by the user.

    Damit kannst du nur *eine* Option in der SelectBox definieren. Wenn du eine Liste angeben willst, must du SelectItems (man beachte das 's' verwenden.
    http://java.sun.com/javaee/javaserve...lectItems.html

    value false false javax.el.ValueExpression
    (must evaluate to java.lang.Object) Value binding expression pointing at a *List or array of SelectItem instances* containing the information for these options.

    Da kannst du deine Liste verwenden, aber eine Liste von SelectItem-Instanzen!

    aragon

    Comment

    Working...
    X