Bonjour à tous,
J'ai un souci avec un bouton qui ne fait strictement rien alors qu'il devrait soumettre mon formulaire...
Voila ma page xhtml :
En gros je propose des champs de saisie pour remplir mes champs dans mon managed Bean infoGeneralesCtrl...
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 <h:body> <h2>Choix des Infos générales :</h2> <h:form> <h:outputText value="Titre du Questionnaire : "/> <h:inputText id="titre" value="#{infoGeneralesCtrl.libQuest}"/> <h:outputLabel value="Ajouter le message du questionnaire : "/> <h:inputTextarea cols="80" rows="5" value="#{infoGeneralesCtrl.messageQuestionnaire}"/> <h:outputText value="idGoogleAnalytics : "/> <h:inputText id="idGoogleAnalytics" value="#{infoGeneralesCtrl.idGoogleAnalytics}"/> </h:form> <h:commandButton value="Etape suivante" action="#{infoGeneralesCtrl.persist()}"/> </h:body>
Voile le code de ce bean :
Enfin, la methode persist appel ma classe service QuestionnaireService pour le persister
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 @Named("infoGeneralesCtrl") @RequestScoped public class InfoGeneralesQuestionnaireController extends AbstractController{ @EJB QuestionnaireService questionnaireService; Questionnaire questionnaire; //Infos relatives au questionnaire String libQuest; String messageQuestionnaire; String idGoogleAnalytics; /** * Getteurs et Setteur des infos du questionnaire * */ public String getLibQuest() { return libQuest; } public void setLibQuest(String libQuest) { this.libQuest = libQuest; } public String getMessageQuestionnaire() { return messageQuestionnaire; } public void setMessageQuestionnaire(String messageQuestionnaire) { this.messageQuestionnaire = messageQuestionnaire; } public String getIdGoogleAnalytics() { return idGoogleAnalytics; } public void setIdGoogleAnalytics(String idGoogleAnalytics) { this.idGoogleAnalytics = idGoogleAnalytics; } public Questionnaire getQuestionnaire() { return questionnaire; } public void setQuestionnaire(Questionnaire questionnaire) { this.questionnaire = questionnaire; } /** * persistance du questionnaire * @return l'url de la page de destination */ public String persist(){ questionnaire.setClient(getClientStoredInSession()); questionnaireService.persistQuestionnaire(questionnaire); return "/vues/listeQuestionnaire.jsf?faces-redirect=true&clientId="+getClientStoredInSession().getIdClient(); } }
Pourtant je n'ai aucune trace du serveur glassfish comme quoi il y aurait un probleme.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 @Stateless public class QuestionnaireService { @PersistenceContext private EntityManager entityManager; public int persistQuestionnaire(Questionnaire questionnaire){ idQuestionnairePersist=questionnaire.getIdQuestionnaire(); entityManager.persist(questionnaire); return idQuestionnairePersist; }
Et quand je passe en debug les methodes set des infos du questionnaire ne sont jamais appellées.
(P.S: le problème ne vient pas du fait que ma fontion persist de mon questionnaireService me renvoie un int car je l'ai mis dans une variable que j'ai oublier sur le code )
Merci à toute personne suceptible de m'aider
Anack.
Partager