Bonjour les jeunes
Sur un formulaire d'ajout j'ai deux listes déroulante qui liste des objets agence et statut comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <h:outputText value="Agence"/> <h:selectOneMenu value="#{showA.agence}" converter="#{ConvertAgence}"> <f:selectItems value="#{showA.agences}" var="ag" itemValue="#{ag}" itemLabel="#{ag.nomAgence}" /> </h:selectOneMenu> <h:outputText value="Statut"/> <h:selectOneMenu value="#{showS.statut}" converter="#{ConvertStatut}"> <f:selectItems value="#{showS.statuts}" var="st" itemValue="#{st}" itemLabel="#{st.nomstatut}" /> </h:selectOneMenu>
showA = AgenceController
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 public class AgenceController { private List<Agence> agences = new ArrayList<Agence>(); private Agence agence ; public List<Agence> getAgences() { AgenceDAO daoA = new AgenceDAO(); return daoA.getAll(); } public void setAgences(List<Agence> agences) { this.agences = agences; } public Agence getAgence() { return agence; } public void setAgence(Agence agence) { this.agence = agence; } }
j'ai ajouté deux classes pour faire de la conversion voici une pour l'objet agence
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 public class TestConverter implements Converter{ private AgenceDAO agencedao ; @Override public Object getAsObject(FacesContext context, UIComponent component, String submittedValue) { if (submittedValue == null || submittedValue.isEmpty()) { return null; } try { return agencedao.getAgenceByNum(Integer.valueOf(submittedValue)); } catch (NumberFormatException e) { throw new ConverterException(new FacesMessage(String.format("%s is not a valid agence ID", submittedValue)), e); } } @Override public String getAsString(FacesContext context, UIComponent component, Object modelValue) { if (modelValue == null) { return ""; } if (modelValue instanceof Agence) { return String.valueOf(((Agence) modelValue).getNumAgence()); } else { throw new ConverterException(new FacesMessage(String.format("%s is not a valid User", modelValue))); } } }
quand je clique sur le bouton ajouter une erreur se déclenche en me disant qu'il y a un probleme dans la méthode getAsObject () de la classe TestConverter
veuillez m'aider à trouver une solution à ce probleme
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 java.lang.NullPointerException at Convert.TestConverter.getAsObject(TestConverter.java:40)
Partager