Как получить значение из selectOneMenu

Я должен получить значение, которое я выбрал из selectOneMenu в JSF. Я использовал ArrayList и держу в нем данные.

           <h:outputText value="Meslek : " />
                <h:selectOneMenu value="meslek">
                    <f:selectItems id="meslek7" value="#{comyon.selectıtem}"/>
           </h:selectOneMenu>

И это мой боб;

 @ManagedBean(name = "comyon")
 @RequestScoped

public class ComponentYonetim {

private String ad,soyad,cinsiyet;
private String sonuc = "";
private ArrayList<SelectItem> selectıtem = new ArrayList<SelectItem>();
private String donenMeslek = "";

public ComponentYonetim() {
    selectıtem.add(new SelectItem("Asker"));
    selectıtem.add(new SelectItem("Mühendis"));
    selectıtem.add(new SelectItem("Doktor"));
    selectıtem.add(new SelectItem("Öğrenci"));
    selectıtem.add(new SelectItem("Serbest meslek"));
    selectıtem.add(new SelectItem("Polis"));

}
public String getSonuc() {
    return sonuc;
}

public void setSonuc(String sonuc) {
    this.sonuc = sonuc;
}


public String getAd() {
    return ad;
}

public void setAd(String ad) {
    this.ad = ad;
}

public String getSoyad() {
    return soyad;
}

public void setSoyad(String soyad) {
    this.soyad = soyad;
}

public String getCinsiyet() {
    return cinsiyet;
}

public void setCinsiyet(String cinsiyet) {
    this.cinsiyet = cinsiyet;
}

public ArrayList<SelectItem> getSelectıtem() {
    return selectıtem;
}

public void setSelectıtem(ArrayList<SelectItem> selectıtem) {
    this.selectıtem = selectıtem;
}

public void yazdir(){
    if(this.ad.isEmpty() || this.soyad.isEmpty()){
        sonuc+="Lütfen boşluk bırakmayınız!";
    }
}

public String getDonenMeslek() {
    return donenMeslek;
}

public void setDonenMeslek(String donenMeslek) {
    this.donenMeslek = donenMeslek;
}

}

Это показывает данные массива, но я не могу получить значение оттуда. Как я могу получить значение из этого selectOneMenu с Javabean?

2 ответа

Решение

Вы должны прочитать эти уроки:

  1. Mkyoung selectOneMenu учебник
  2. Учебник по Mkyong

В основном вы должны выбрать контейнер значений для тега selectOneMenu. это означает, что это должно выглядеть так:

<h:selectOneMenu value="#{comyon.selectedItem}">
   <f:selectItems id="meslek7" value="#{comyon.selectıtem}"/>
</h:selectOneMenu>

и если вам нужно передать объект, а не строку, вы должны использовать конвертер. Посмотрите на ссылки сверху.

Несмотря на то, что вы выбираете в раскрывающемся списке, значение элемента будет первой линией

<h:selectOneMenu value="#{meslek}">

Итак, давайте объявим переменную с именем "meslek" и getter/setter для использования значения.

private String meslek;
Другие вопросы по тегам