Как получить значение из 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 ответа
Решение
Вы должны прочитать эти уроки:
В основном вы должны выбрать контейнер значений для тега 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;