Bonjour,
je travaille sur un mini projet très simple mais au moment de faire des manipulations dans un formulaire avec ajax, ça se complique.
J'utilise une listbox listant les professeurs d'une école. Au moment où j'en sélectionne un, je fais apparaître tous les cours auxquels il n'est pas lié sous forme de checkboxes afin de lui attribué des cours.
Jusque là ça fonctionne.
Mais au moment d'enregistrer, il ne prend pas en compte ma sélection. La liste est vide dans mon controller java et du coup j'ai un nullPointerException.
d'après ce que j'ai trouvé sur internet c'est lié à Ajax (pourtant j'utilise f:ajax et pas a4j:ajax). Je ne vois pas comment contourner le problème.
voici la jsp :
Auriez-vous une idée ?
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 <h:form> <rich:panel header="Professeurs" style="width: 500px"> <h:panelGrid columns="2" border="0" > <h:outputLabel value="Sélectionner un professeur : "/> <rich:select id="lstProfs" value="#{managerProfCoursCtrl.selectedProfesseur}" required="true" defaultLabel="Choisissez un professeur"> <f:selectItems value="#{managerProfCoursCtrl.profs}" var="prof" itemLabel="#{prof.nomComplet}" itemValue="#{prof.id}"/> <f:ajax event="change" execute="@form" listener="#{managerProfCoursCtrl.testAlimCours}" render="lol2" /> </rich:select> </h:panelGrid> </rich:panel> <br/><br/> <rich:panel header="cours " style="width: 500px" id="lol2"> <h:selectManyCheckbox value="#{managerProfCoursCtrl.selectedCours}" rendered="#{managerProfCoursCtrl.cours.size()>0}"> <f:selectItems value="#{managerProfCoursCtrl.cours}" var="cours" itemLabel="#{cours.nom}" itemValue="#{cours.id}"/> <br/> </h:selectManyCheckbox> </rich:panel> <br/><br/> <h:commandButton value="Enregistrer" action="#{managerProfCoursCtrl.save()}" /> </h:form>
MErci!
Partager