h:selectOneMenu - wartości z listy

0

mam taki oto kod:

 <h:selectOneMenu value="#{app.stanowiska.wartosc}" id="pozycja">
            <f:selectItems value="#{app.stanowiska.nazwa}" />
        </h:selectOneMenu>

Klasa stanowisko

 public class Stanowisko {
    private int wartosc;
    private String nazwa;
    
    public Stanowisko(){}
    
    public void setWartosc(int wartosc){
        this.wartosc=wartosc;
    }
    
    public int getWartosc(){
        return wartosc;
    }
    
      public void setNazwa(String nazwa){
        this.nazwa=nazwa;
    }
    
    public String getNazwa(){
        return nazwa;
    }
}

Klasa app:

 
private List<Stanowisko> stanowiska;
....
 public List<Stanowisko> getStanowiska(){
           setStanowiska();
           System.out.println("pobrano stanowiska");
           return stanowiska;
       }
       
        public void setStanowiska(){
          this.stanowiska=daoS.pobierz();
          System.out.println("ustawiono stanowiska");
       }

.....

Ogólnie wszystko działa. Do listy prawidłowo pobierane są stanowiska. Jednak nie potrafię wyświetlić ich w liście wyboru.
Netbeans pokazuje mi że nie ma takich własności jak nazwa i wartość. Czy ktoś może mi wytłumaczyć dlaczego tak jest ?

1

Masz źle. W tym h:selectOneMenu value="#{app.stanowiska.wartosc}" w value powinna być przepisana wartość pola w beanie, która wypełni się obiektem Stanowisko wybranym z tego selecta. A ty masz z klasy app stanowiska, które są typu List i z tego wybierasz wartosć, a typ List nie ma takiego pola.
Źle jest też: <f:selectItems value="#{app.stanowiska.nazwa}" />, bo tutaj w value powinna być lista. Są takie atrybuty jak itemLabel i itemValue, poszukaj przykładów jak to używać i w końcu ci wyjdzie. Może jeszcze się okazać, że jest konwerter potrzebny.

1 użytkowników online, w tym zalogowanych: 0, gości: 1