如何从selectOneMenu检索选定的值?

问题描述 投票:0回答:2

我需要获取从JSF中的selectOneMenu中选择的值。我使用了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 void yazdir(){
    if(this.ad.isEmpty() || this.soyad.isEmpty()){
        sonuc+="Lütfen boşluk bırakmayınız!";
    }
}

//setters and getters...

}

它显示的是ArrayList数据,但我无法从中获取价值。如何使用javaBean从此selectOneMenu获取值?

jsf managed-bean selectonemenu
2个回答
2
投票

您应该阅读这些教程:

  1. Mkyoung selectOneMenu tutorial
  2. Mkyong converter tutorial

基本上,您应该为selectOneMenu标签选择值容器。这意味着它应该看起来像:

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

并且,如果您需要传递对象而不是字符串,则应使用转换器。查看顶部的链接。


1
投票

尽管您在下拉列表中选择的内容,但项目的值将是第一行

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

所以,我们声明一个名称为“ meslek”的变量,并使用getter / setter来使用该值。

private String meslek;
© www.soinside.com 2019 - 2024. All rights reserved.