Bonjour,
je développe une application web en Java EE avec un serveur Payara en local.
je suis confronté à un problème dont je ne trouve pas la solution.
j'ai une page où il est possible d'ajouter des étudiants à un séminaire mais aussi de supprimer ceux qui sont déja ajouté au séminaire, cependant pour ce qui de l'ajout tout s'effectue correctement mais pour la suppression la méthode n'est même pas lancée (test en debug) :/
Du coup auriez vous une idée car je bloque complètement :/
Merci d'avance
Voici mon code xHtml :
La méthode supprimerEtudiant(etudiant) ne se lance pas.
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
34
35
36
37
38
39 <!DOCTYPE html> <html xmlns:jsf="http://xmlns.jcp.org/jsf" xmlns:h="http://xmlns.jcp.org/jsf/html" xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://xmlns.jcp.org/jsf/facelets" xmlns:f="http://java.sun.com/jsf/core" xmlns:p="http://primefaces.org/ui" xmlns:b="http://bootsfaces.net/ui"> <h:head> <meta charset="UTF-8" /> <title>Ajouter séminaire</title> </h:head> <h:body> <ui:include src="include/menu.xhtml" /> <b:panel style="margin-top:60px"> <h:form> <b:dataTable value="#{etudiantController.getEtudiantsSection(seminaireController.section)}" var="etudiant"> <b:dataTableColumn value="#{etudiant.id}" /> <b:dataTableColumn value="#{etudiant.nom}" /> <b:dataTableColumn value="#{etudiant.prenom}" /> <b:dataTableColumn value="#{seminaireController.verifEtudiantInscrit(etudiant)}" label="Ajouter ou supprimer"> <b:commandButton value="Ajouter" action="#{seminaireController.ajouterEtudiant(etudiant)}" iconAwesome="plus" rendered="#{seminaireController.isVisibleAdd()}"/> <b:commandButton value="Supprimer" action="#{seminaireController.supprimerEtudiant(etudiant)}" iconAwesome="trash" rendered="#{seminaireController.isVisibleDelete()}"/> </b:dataTableColumn> </b:dataTable> </h:form> </b:panel> </h:body> </html>
Voici le code de mon controller :
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69 @Named @SessionScoped public class SeminaireController implements Serializable{ /** * */ private boolean visibleAdd = true; private boolean visibleDelete = false; private static final long serialVersionUID = 1L; @EJB private GestionSeminaireEJB gestionSeminaire; private List<Seminaire> seminaires = new ArrayList<Seminaire>(); private Seminaire seminaire; private String section; public SeminaireController() {} public void init() { seminaire = new Seminaire(); } public boolean isVisibleAdd() { return visibleAdd; } public boolean isVisibleDelete() { return visibleDelete; } public void verifEtudiantInscrit(Etudiant etu) { int res = gestionSeminaire.etudiantInscrit(seminaire.getId(),etu.getId()); if(res == 0) { visibleAdd = true; visibleDelete = false; }else { visibleDelete = true; visibleAdd = false; } } public Seminaire getSeminaire() { if(seminaire == null) { init(); } public String ajouterEtudiant(Etudiant e) { Etudiant tmpEtudiant = e; tmpEtudiant.setId(e.getId()); seminaire.ajouterEtudiant(tmpEtudiant); gestionSeminaire.updateSeminaire(seminaire); FacesContext context = FacesContext.getCurrentInstance(); context.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Etudiant ajouté au séminaire : " + seminaire.getNomSeminaire(), null)); return "AjouterEtudiantSeminaire.xhtml?face-redirect=true"; } public String supprimerEtudiant(Etudiant e) { gestionSeminaire.deleteSemiEtudiant(e.getSection(), e.getId()); FacesContext context = FacesContext.getCurrentInstance(); context.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Etudiant supprimé du séminaire : " + seminaire.getNomSeminaire(), null)); return "AjouterEtudiantSeminaire.xhtml?face-redirect=true"; } }
Partager