IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JSF Java Discussion :

jsf et formulaire


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    679
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 679
    Par défaut jsf et formulaire
    bonjour je suis débuté avec jsf et je veux bien lancer ma premiere jsf avec formulaire et vérifier la saisie mail

    voila le code

    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
     
     
     
    import java.util.Date;
    import javax.faces.application.FacesMessage;
    import javax.faces.component.UIComponent;
    import javax.faces.context.FacesContext;
    import javax.faces.validator.ValidatorException;
     
    public class UserBean {
     
    	String email;
     
     
    	public UserBean() {
    	}
     
     
     
    	public String getEmail() {
    		return email;
    	}
     
    	public void setEmail(String email) {
    		this.email = email;
    	}
     
     
     
    	public void validateEmail(FacesContext context, UIComponent toValidate,
    			Object value) throws ValidatorException {
    		String eMail = (String) value;
    		if (eMail.indexOf("@") < 0) {
    			FacesMessage message = new FacesMessage("Adresse Email invalide !");
    			throw new ValidatorException(message);
    		}
    	}
     
    	public String ajoutUtilisateurConfirme() {
    		// Cette méthode pourrait faire un appel en base de données vie DAO ou couche service 
    		System.out.println("Ajout d'un nouvel utilisateur");
    		return "success";
    	}
     
    }

    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
     
     <%@ page contentType="text/html"%>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
     
    <f:view>
      <html>
        <head>
          <title>Un formulaire d'inscription JSF</title>
        </head>
        <body>
          <h:form>
            <h4>
              Formulaire JSF d'inscription au <a href="http://www.objis.com/formation-java/club-objis.html">Club Objis</a>.
            </h4>
            <table>
              </tr>
                <tr>
                  <td>Email:</td>
                  <td>
                    <h:inputText value="#{UserBean.email}" required="true"
                                 validator="#{UserBean.validateEmail}" id="email"/>
                    <h:message for="email"/>
                  </td>
                </tr>
                <tr>
     
                </tr>
            </table>
            <p><h:commandButton value="Inscription" action="register" /></p>
          </h:form>
          <hr>
    <a href="http://www.objis.com"><img src="images/logo-objis.png" border=0></a>
     
        </body>
      </html>
    </f:view>
    message d'erreur
    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
     
     
    javax.faces.FacesException: javax.faces.application.ViewExpiredException
    	at org.apache.myfaces.shared_impl.util.StateUtils.decrypt(StateUtils.java:490)
    	at org.apache.myfaces.shared_impl.util.StateUtils.reconstruct(StateUtils.java:378)
    	at org.apache.myfaces.renderkit.html.HtmlResponseStateManager.getSavedState(HtmlResponseStateManager.java:213)
    	at org.apache.myfaces.renderkit.html.HtmlResponseStateManager.getState(HtmlResponseStateManager.java:160)
    	at org.apache.myfaces.application.jsp.JspStateManagerImpl.restoreView(JspStateManagerImpl.java:400)
    	at org.apache.myfaces.shared_impl.view.ViewDeclarationLanguageBase.restoreView(ViewDeclarationLanguageBase.java:106)
    	at org.apache.myfaces.application.ViewHandlerImpl.restoreView(ViewHandlerImpl.java:278)
    	at org.apache.myfaces.lifecycle.RestoreViewExecutor.execute(RestoreViewExecutor.java:123)
    	at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:171)
    	at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
    	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:189)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:306)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
    	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:541)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:383)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:243)
    	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188)
    	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:288)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    Caused by: javax.faces.application.ViewExpiredException
    	at org.apache.myfaces.shared_impl.util.StateUtils.decrypt(StateUtils.java:483)
    	... 25 more
    08-mai-2011 3:37:07 org.apache.myfaces.renderkit.ErrorPageWriter handleThrowable
    GRAVE: An exception occurred
    javax.faces.application.ViewExpiredException: /register.jspNo saved view state could be found for the view identifier: /register.jsp
    	at org.apache.myfaces.lifecycle.RestoreViewExecutor.execute(RestoreViewExecutor.java:128)
    	at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:171)
    	at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
    	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:189)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:306)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
    	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:541)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:383)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:243)
    	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188)
    	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:288)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    sur la page web message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    An Error Occurred:
    /register.jspNo saved view state could be found for the view identifier: /register.jsp
     
    Caused by:
    javax.faces.application.ViewExpiredException - /register.jspNo saved view state could be found for the view identifier: /register.jsp

  2. #2
    Membre confirmé
    Femme Profil pro
    Débutante en dev web
    Inscrit en
    Octobre 2010
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Débutante en dev web

    Informations forums :
    Inscription : Octobre 2010
    Messages : 59
    Par défaut
    Bonjour,

    Si je ne me prempe pas, il me semble qu'il y'a un probléme avec ton bouton;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <p><h:commandButton value="Inscription" action="register" /></p>
    A mon avis, la valeur action d'un commanButton est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <p><h:commandButton value="Inscription" action="#{TonAction.MethodeInsertion}" /></p>
    .

    Pour cela, il faut avoir une classe java qui comportera ta méthode MethodeInsertion.
    ça reste un avis. je te conseille de voir ce lien http://adiguba.developpez.com/tutoriels/j2ee/jsp/el/

    Bon courage avec JSF.
    Citation Envoyé par minooo Voir le message
    bonjour je suis débuté avec jsf et je veux bien lancer ma premiere jsf avec formulaire et vérifier la saisie mail

    voila le code

    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
     
     
     
    import java.util.Date;
    import javax.faces.application.FacesMessage;
    import javax.faces.component.UIComponent;
    import javax.faces.context.FacesContext;
    import javax.faces.validator.ValidatorException;
     
    public class UserBean {
     
    	String email;
     
     
    	public UserBean() {
    	}
     
     
     
    	public String getEmail() {
    		return email;
    	}
     
    	public void setEmail(String email) {
    		this.email = email;
    	}
     
     
     
    	public void validateEmail(FacesContext context, UIComponent toValidate,
    			Object value) throws ValidatorException {
    		String eMail = (String) value;
    		if (eMail.indexOf("@") < 0) {
    			FacesMessage message = new FacesMessage("Adresse Email invalide !");
    			throw new ValidatorException(message);
    		}
    	}
     
    	public String ajoutUtilisateurConfirme() {
    		// Cette méthode pourrait faire un appel en base de données vie DAO ou couche service 
    		System.out.println("Ajout d'un nouvel utilisateur");
    		return "success";
    	}
     
    }

    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
     
     <%@ page contentType="text/html"%>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
     
    <f:view>
      <html>
        <head>
          <title>Un formulaire d'inscription JSF</title>
        </head>
        <body>
          <h:form>
            <h4>
              Formulaire JSF d'inscription au <a href="http://www.objis.com/formation-java/club-objis.html">Club Objis</a>.
            </h4>
            <table>
              </tr>
                <tr>
                  <td>Email:</td>
                  <td>
                    <h:inputText value="#{UserBean.email}" required="true"
                                 validator="#{UserBean.validateEmail}" id="email"/>
                    <h:message for="email"/>
                  </td>
                </tr>
                <tr>
     
                </tr>
            </table>
            <p><h:commandButton value="Inscription" action="register" /></p>
          </h:form>
          <hr>
    <a href="http://www.objis.com"><img src="images/logo-objis.png" border=0></a>
     
        </body>
      </html>
    </f:view>
    message d'erreur
    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
     
     
    javax.faces.FacesException: javax.faces.application.ViewExpiredException
    	at org.apache.myfaces.shared_impl.util.StateUtils.decrypt(StateUtils.java:490)
    	at org.apache.myfaces.shared_impl.util.StateUtils.reconstruct(StateUtils.java:378)
    	at org.apache.myfaces.renderkit.html.HtmlResponseStateManager.getSavedState(HtmlResponseStateManager.java:213)
    	at org.apache.myfaces.renderkit.html.HtmlResponseStateManager.getState(HtmlResponseStateManager.java:160)
    	at org.apache.myfaces.application.jsp.JspStateManagerImpl.restoreView(JspStateManagerImpl.java:400)
    	at org.apache.myfaces.shared_impl.view.ViewDeclarationLanguageBase.restoreView(ViewDeclarationLanguageBase.java:106)
    	at org.apache.myfaces.application.ViewHandlerImpl.restoreView(ViewHandlerImpl.java:278)
    	at org.apache.myfaces.lifecycle.RestoreViewExecutor.execute(RestoreViewExecutor.java:123)
    	at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:171)
    	at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
    	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:189)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:306)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
    	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:541)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:383)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:243)
    	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188)
    	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:288)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    Caused by: javax.faces.application.ViewExpiredException
    	at org.apache.myfaces.shared_impl.util.StateUtils.decrypt(StateUtils.java:483)
    	... 25 more
    08-mai-2011 3:37:07 org.apache.myfaces.renderkit.ErrorPageWriter handleThrowable
    GRAVE: An exception occurred
    javax.faces.application.ViewExpiredException: /register.jspNo saved view state could be found for the view identifier: /register.jsp
    	at org.apache.myfaces.lifecycle.RestoreViewExecutor.execute(RestoreViewExecutor.java:128)
    	at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:171)
    	at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
    	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:189)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:306)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
    	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:541)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:383)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:243)
    	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188)
    	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:288)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    sur la page web message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    An Error Occurred:
    /register.jspNo saved view state could be found for the view identifier: /register.jsp
     
    Caused by:
    javax.faces.application.ViewExpiredException - /register.jspNo saved view state could be found for the view identifier: /register.jsp

  3. #3
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Par défaut
    Le problème avec la plupart des developpeurs , y compris (moi ) c'est qu'on ne lit pas assez ou pas du tout avant d'attaquer les nouvelles technos, pourtant on gagne du temps avoir lu. Prends du temps et lis ce tuto

Discussions similaires

  1. JSF autocompletion formulaire
    Par Sennad dans le forum JSF
    Réponses: 1
    Dernier message: 06/07/2015, 15h26
  2. Problème d'affichage des champs et composants JSF de formulaire
    Par yannick midou dans le forum NetBeans
    Réponses: 4
    Dernier message: 11/11/2014, 17h09
  3. Javascript et Jsf (Validation formulaire)
    Par midos_ab dans le forum JSF
    Réponses: 3
    Dernier message: 01/07/2010, 11h40
  4. Réponses: 3
    Dernier message: 12/02/2008, 16h19
  5. [JSF] Implémentation d'un formulaire dynamique
    Par Fleep dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 01/03/2005, 19h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo