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