我需要获取从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获取值?
您应该阅读这些教程:
基本上,您应该为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;