我需要获得从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中获取值?
您应该阅读这些教程:
- Mkyung selectOneMenu教程
- Mkyong转换器教程
基本上,您应该为selectOneMenu标记选择值容器。这意味着它应该看起来像:
<h:selectOneMenu value="#{comyon.selectedItem}">
<f:selectItems id="meslek7" value="#{comyon.selectıtem}"/>
</h:selectOneMenu>
如果您需要传递一个对象而不是字符串,则应该使用converter。看看上面的链接。
尽管您在下拉列表中选择了什么,但项目的值将是第一行
<h:selectOneMenu value="#{meslek}">
因此,让我们声明一个名为"meslek"、getter/setter的变量来使用该值。
private String meslek;