Récupération d'un élément d'un SelectOneMenu
Bonjour,
malgré mes recherches sur le forum et le net, je n'ai pas trouvé de solution à mon problème.
J'ai un selectonemenu bien alimenté par la méthode goToRecherche(). Quand je sélectionne un élément de la liste, mon managed bean me dit que l'élément est null. Pourquoi?
ManagedBean :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
| public class RechercheBean {
private ArrayList<SelectItem> listRegion;
private Region region;
public RechercheBean(){
listRegion = new ArrayList<SelectItem>();
}
public RechercheBean(ArrayList<SelectItem> listRegion) {
super();
this.listRegion = listRegion;
}
public String goToRecherche(){
listRegion = new ArrayList<SelectItem>();
ArrayList<Region> tempList = VinUtil.getRegionList();
Iterator<Region> it = tempList.iterator();
while (it.hasNext()){
Region current = (Region) it.next();
SelectItem item = new SelectItem(current, current.getNom());
listRegion.add(item);
}
return "success";
}
public String getSelectedRegion(){
System.out.println(region.getNom());
return "";
}
public void setListRegion(ArrayList<SelectItem> listRegion) {
this.listRegion = listRegion;
}
public ArrayList<SelectItem> getListRegion() {
return listRegion;
}
public void setRegion(Region region) {
this.region = region;
}
public Region getRegion() {
return region;
}
} |
Ma page JSP :
Code:
1 2 3 4 5 6 7 8 9
|
<h:form>
<f:view>
<h:selectOneMenu id="regionId" value="#{rechercheBean.region.nom}">
<f:selectItems id="selectRegion" value="#{rechercheBean.listRegion}"/>
</h:selectOneMenu>
<h:commandButton action="#{rechercheBean.getSelectedRegion }"></h:commandButton>
</f:view>
</h:form> |
L'erreur générée est :
Citation:
javax.el.PropertyNotFoundException: /WEB-INF/jsp/recherche.jsp @10,73 value="#{rechercheBean.region.nom}": Target Unreachable, 'region' returned null
at com.sun.facelets.el.TagValueExpression.getType(TagValueExpression.java:62)
Merci pour votre aide.