Probleme avec SelectOneMenu avec JSF
Voila le code dans JSP:
Code:
1 2 3
| <h:selectOneMenu value="#{ajoutRouteur.nomRegion}">
<f:selectItems value="#{ajoutRouteur.regions}" />
</h:selectOneMenu> |
Et dans javabeans AjoutRouteur:
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
| package managed.beans;
import java.util.ArrayList;
//import javax.faces.model.SelectItem;
import com.model.MenuAdministrateur;
import com.model.Region;
public class AjoutRouteur {
private String nomRegion;
private ArrayList<Region> regions =new ArrayList<Region>();
public AjoutRouteur(){
MenuAdministrateur menu=new MenuAdministrateur();
//ArrayList<String> liste1=new ArrayList<String>();
ArrayList<Region> liste1=(ArrayList<Region>)menu.listeRegion();
this.regions=liste1;
/*for(int i=0;i<liste1.size();i++){
System.out.println("liste Region"+(liste1.get(i)).getReg());
regions.set(i,(Region)liste1.get(i));
}*/
}
public ArrayList<Region> getRegions() {
return regions;
}
public void setRegions(ArrayList<Region> regions) {
this.regions = regions;
}
public String getNomRegion() {
return nomRegion;
}
public void setNomRegion(String nomRegion) {
this.nomRegion = nomRegion;
}
} |
Et voila l'erreur:
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
| Etat HTTP 500 -
--------------------------------------------------------------------------------
type Rapport d'exception
message
description Le serveur a rencontré une erreur interne () qui l'a empêché de satisfaire la requête.
exception
javax.servlet.ServletException: "Argument Error: An option for component j_id_jsp_1798814392_33 was not an instance of javax.faces.model.SelectItem. Type found: java.util.ArrayList.
javax.faces.webapp.FacesServlet.service(FacesServlet.java:256)
cause mère
java.lang.IllegalArgumentException: "Argument Error: An option for component j_id_jsp_1798814392_33 was not an instance of javax.faces.model.SelectItem. Type found: java.util.ArrayList.
com.sun.faces.renderkit.RenderKitUtils.getSelectItems(RenderKitUtils.java:321)
com.sun.faces.renderkit.html_basic.MenuRenderer.getOptionNumber(MenuRenderer.java:506)
com.sun.faces.renderkit.html_basic.MenuRenderer.renderSelect(MenuRenderer.java:482)
com.sun.faces.renderkit.html_basic.MenuRenderer.encodeEnd(MenuRenderer.java:447)
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:847)
com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:241)
com.sun.faces.renderkit.html_basic.GridRenderer.encodeChildren(GridRenderer.java:270)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:827)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:883)
javax.faces.render.Renderer.encodeChildren(Renderer.java:137)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:827)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:883)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:889)
com.sun.faces.application.ViewHandlerImpl.doRenderView(ViewHandlerImpl.java:258)
com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:176)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:108)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:266)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:159)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
note La trace complète de la cause mère de cette erreur est disponible dans les fichiers journaux de Apache Tomcat/6.0.14.
--------------------------------------------------------------------------------
Apache Tomcat/6.0.14 |