Problème avec un h:commandButton
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 :
Code:
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> |
En gros je propose des champs de saisie pour remplir mes champs dans mon managed Bean infoGeneralesCtrl...
Voile le code de ce bean :
Code:
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();
}
} |
Enfin, la methode persist appel ma classe service QuestionnaireService pour le persister
Code:
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;
} |
Pourtant je n'ai aucune trace du serveur glassfish comme quoi il y aurait un probleme.
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 :ccool:
Anack.