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

Struts 1 Java Discussion :

Validation dynamique des formulaire : DynaValidatorForm javax.servlet.ServletExcepti


Sujet :

Struts 1 Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 131
    Points : 46
    Points
    46
    Par défaut Validation dynamique des formulaire : DynaValidatorForm javax.servlet.ServletExcepti
    J'ai une exception qui revient tout le temps lorsque j'essaye d'utiliser la validation dynamique de Strurs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    javax.servlet.ServletException: Exception creating bean of class org.apache.struts.validator.DynaValidatorForm: {1}
    	org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:846)
    	org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:779)
    J'ai farfouillé un peu sur le net et je ne trouve rien de convainquant qui puisse m'aider à résoudre se problème....

    Voici une partie de mon struts-config.xml :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <struts-config>
    	<form-beans>	
    		<form-bean name="frmPersonne" type="org.apache.struts.validator.DynaValidatorForm">
    			<form-property name="nom" type="java.lang.string" initial=""/>
    			<form-property name="age" type="java.lang.string" initial=""/>
    		</form-bean>
    	</form-beans>
    Déclaration du plugin :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
    		<set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" />
    		<set-property property="stopOnFirstError" value="true" />
    	</plug-in>
    Voici maintenant le contenu de mon fichier validation.xml :

    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
    <form-validation>
    	<global>
    		<constant>
    			<constant-name>entierpositif</constant-name>
    			<constant-value>^\s*\d+\s*$</constant-value>
    		</constant>
    	</global>
    	<formset>
    		<form name="frmPersonne">
    			<field property="nom" depends="required">
    				<arg0 key="personne.nom"/>
    			</field>
    			<field property="age" depends="required,mask">
    				<arg0 key="personne.age"/>
    				<var>
    					<var-name>mask</var-name>
    					<var-value>${entierpositif}</var-value>
    				</var>
    			</field>
    		</form>
    	</formset>
    </form-validation>
    Et voici comment est déclaré dans struts-config.xml le "message-resource" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <message-resources parameter="resource.AnnuaireMessageRessource"/>
    et son 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
    annuaire.personne.formulaire.nom.vide=Vous devez indiquer un nom.
    annuaire.personne.formulaire.age.vide=Vous devez indiquer un age.
    annuaire.personne.formulaire.age.incorrect=L'âge {0} est incorrect.
    errors.header=<u1>
    errors.footer=</u1>
     
      # Struts Validator Error Messages
       errors.required={0} ne doit pas être vide.
       errors.minlength={0} doit avoir au moins {1} caractère.
       errors.maxlength={0} ne peut avoir plus de {1} caractère.
       errors.invalid={0} n'est pasn valide.
     
       errors.byte={0} doit être un octet.
       errors.short={0} doit être un entier court.
       errors.integer={0} doit être un entier.
       errors.long={0} doit être un entier long.
       errors.float={0} doit être un réel simple.
       errors.double={0} doit être un réel double.
     
       errors.date={0} n'est pas une date.
       errors.range={0} doit être dans l'intervalle {1} à {2}.
       errors.creditcard={0} n'est pas un numéro de carte valide.
       errors.email={0} n'est pas une adresse email valide.
     
    personne.nom=nom
    personne.age=age
    Désolé pour la longueur du post....

    Le code de l'action :

    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
    package istia.st.struts.annuaire;
     
    import org.apache.struts.action.*;
    import javax.servlet.http.*;
    import java.io.*;
    import javax.servlet.ServletException;
     
    public class FormulaireAction extends Action {
    	public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException,ServletException {
    		// Le formulaire est valide... (sinon on ne serait pas arrivé là...)
    		DynaActionForm formulaire = (DynaActionForm) form;
    		request.setAttribute("nom",formulaire.get("nom"));
    		request.setAttribute("age",formulaire.get("age"));
    		ActionForward af = mapping.findForward("reponse");
    		return af;
    	} //execute
    }
    Si quelqu'un a une idée ça serait vraiment cool de m'en faire part, j'avoue que je ne comprends vraiment pas d'où vient cette erreur. Je précise que tous les jar nécessaires sont bien placés dans le répertoire /lib de mon appli. J'utilise la version 1.2.9 de Struts.

    Merci à tous.

    Salut

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 131
    Points : 46
    Points
    46
    Par défaut
    Personne n'a une idée ?

  3. #3
    Membre éprouvé

    Homme Profil pro
    Inscrit en
    Mars 2003
    Messages
    291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 291
    Points : 1 059
    Points
    1 059
    Par défaut
    Y a pas autre chose comme exception ?

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 131
    Points : 46
    Points
    46
    Par défaut
    Voici le log, (il met le même genre d'exception lorsqu'il ne trouve pas une classe).

    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
    006-07-27 09:12:04 ApplicationDispatcher[/annuaire] Servlet.service() for servlet jsp threw exception
    javax.servlet.jsp.JspException: Exception creating bean of class org.apache.struts.validator.DynaValidatorForm: {1}
    	at org.apache.struts.taglib.html.FormTag.initFormBean(FormTag.java:487)
    	at org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:457)
    	at org.apache.jsp.vues.formulaire_personne_jsp._jspx_meth_html_form_0(formulaire_personne_jsp.java:111)
    	at org.apache.jsp.vues.formulaire_personne_jsp._jspService(formulaire_personne_jsp.java:83)
    	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
    	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:696)
    	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:474)
    	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:409)
    	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:312)
    	at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085)
    	at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:398)
    	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:241)
    	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
    	at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
    	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    	at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
    	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
    	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
    	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
    	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
    	at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
    	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
    	at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
    	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
    	at java.lang.Thread.run(Thread.java:595)

Discussions similaires

  1. Générer, nettoyer, valider, interroger… des formulaires à partir d'un json
    Par cahnory dans le forum Contribuez / Téléchargez Sources et Outils
    Réponses: 3
    Dernier message: 22/06/2010, 15h34
  2. Réponses: 2
    Dernier message: 27/06/2006, 14h34
  3. Classe ou script de validation des formulaires.
    Par __fabrice dans le forum Langage
    Réponses: 22
    Dernier message: 30/12/2005, 10h26
  4. Réponses: 1
    Dernier message: 15/09/2005, 11h59
  5. [jsp]controles des formulaires servlet ou javascript ?
    Par alexandra_ape dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 05/07/2004, 14h46

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