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 2 Java Discussion :

Problème pour l’utilisation des validators avec Struts 2.


Sujet :

Struts 2 Java

  1. #1
    Membre du Club
    Inscrit en
    Juin 2006
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 69
    Points : 49
    Points
    49
    Par défaut Problème pour l’utilisation des validators avec Struts 2.
    Bonjour à tous,

    Je suis actuellement en train de développer un projet utilisant les framework Struts 2 + Spring +Hibernate. Nous utilisons également Maven.

    Je rencontre des problèmes pour l’utilisation de validators. Après avoir regardé la documentation d’Apache, réaliser différents tests (qui ne fonctionnent pas!!!) je me tourne vers vous afin de trouver une solution à mon problème.

    L’architecture de l’application est la suivante :

    Package : src/main/java
    =>Package domain
    -dao
    -model
    -service
    -web
    --form (la classeCreationConstatForm)
    -…
    =>…
    Package : src/main/ressources
    =>Package domain
    - form
    -- web
    ---form
    -----CreationConstatForm-saveForm-validation.xml
    =>struts.xml
    =>validators.xml
    =>…
    Package : src/test/java
    =>…
    Package : src/test/ressources
    =>…
    Maven Dependencies
    JRE System Librairie
    Package : src
    =>main
    - webapp
    --css
    --img
    --pages (creationConstat.jsp)
    --WEB-INF
    ---applicationContext.xml
    ---web.xml
    ---tiles.xml
    ---…
    --Index.jsp
    =>test
    =>target
    =>pom.xml

    Le contenu du fichier validators.xml est le suivant :
    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
     
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE validators PUBLIC
            "-//OpenSymphony Group//XWork Validator Config 1.0//EN"
            "http://www.opensymphony.com/xwork/xwork-validator-config-1.0.dtd">
     
    <validators>
        <validator name="required" class="com.opensymphony.xwork2.validator.validators.RequiredFieldValidator"/>
        <validator name="requiredstring" class="com.opensymphony.xwork2.validator.validators.RequiredStringValidator"/>
        <validator name="int" class="com.opensymphony.xwork2.validator.validators.IntRangeFieldValidator"/>
        <validator name="long" class="com.opensymphony.xwork2.validator.validators.LongRangeFieldValidator"/>
        <validator name="short" class="com.opensymphony.xwork2.validator.validators.ShortRangeFieldValidator"/>
        <validator name="double" class="com.opensymphony.xwork2.validator.validators.DoubleRangeFieldValidator"/>
        <validator name="date" class="com.opensymphony.xwork2.validator.validators.DateRangeFieldValidator"/>
        <validator name="expression" class="com.opensymphony.xwork2.validator.validators.ExpressionValidator"/>
        <validator name="fieldexpression" class="com.opensymphony.xwork2.validator.validators.FieldExpressionValidator"/>
        <validator name="email" class="com.opensymphony.xwork2.validator.validators.EmailValidator"/>
        <validator name="url" class="com.opensymphony.xwork2.validator.validators.URLValidator"/>
        <validator name="visitor" class="com.opensymphony.xwork2.validator.validators.VisitorFieldValidator"/>
        <validator name="conversion" class="com.opensymphony.xwork2.validator.validators.ConversionErrorFieldValidator"/>
        <validator name="stringlength" class="com.opensymphony.xwork2.validator.validators.StringLengthFieldValidator"/>
        <validator name="regex" class="com.opensymphony.xwork2.validator.validators.RegexFieldValidator"/>
        <validator name="conditionalvisitor" class="com.opensymphony.xwork2.validator.validators.ConditionalVisitorFieldValidator"/>
    </validators>
    Dans le struts.xml je déclare l’interceptor comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <interceptors>
        <!-- Authentication interceptor. -->
             <interceptor name="authenticationInterceptor" class="authenticationInterceptor" />
    	 <interceptor name="rolesInterceptor" class="rolesInterceptor" />
    	<interceptor name="validation" class="com.opensymphony.xwork2.validator.ValidationInterceptor"/>
        <!-- Interceptor stack. -->
    	<interceptor-stack name="defaultSecurityStackWithAuthentication">
    		<interceptor-ref name="defaultStack" />
    		<interceptor-ref name="authenticationInterceptor" />
    		<interceptor-ref name="rolesInterceptor" />
    		<interceptor-ref name="validation"/>	
    	</interceptor-stack>
    </interceptors>
    Dans la classe CreationConstatForm, il y a la méthode execute() pour la mise en page du formulaire et la méthode save() permettant d’enregistrer, qui est utilisé pour l’action saveForm.

    souhaite appliquer le validator ( CreationConstatForm-saveForm-validation.xml) pour la méthode save(). Le code de CreationConstatForm-saveForm-validation.xml ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN"
           "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
    <validators>
    	<field name="ccDonnees.ccEntite">
    		<field-validator type="required">
    			<message>Veuillez saisir l'entité.</message>
    		</field-validator>
    	</field>
    </validators>
    L’action est définie ainsi dans le struts.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <action name="saveForm" class="creationConstatForm" method="save">
    	<result name="input" type="tiles">creationConstat.constat</result>
    	<result name="success">/pages/CollaborateurPage.jsp</result>
    	<interceptor-ref name="validation"></interceptor-ref>
    </action>
    Pour ce qui est de l’affichage des erreurs j’ai essayé d’intégrer la balise (ci-dessous) dans le code de ma jsp. Mais sans résultat. Je ne suis pas sur que ce soit nécessaire car normalement le message doit s’afficher tout seul. Le thème utilisé avec struts est le theme=simple.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <label for="entite" title="Entité du Collaborateur" class="oblig">Entité :</label>
    <s:textfield name="ccDonnees.ccEntite" value="%{ccDonnees.ccEntite}" id="entite" tabindex="1" />
    <s:fielderror>
    	<s:param name="%{'ccDonnees.ccEntite'}"></s:param>
    </s:fielderror>
    Merci de votre aide.
    Cordialement.

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 29
    Points : 33
    Points
    33
    Par défaut
    Avec le thème simple, tu ne pourras pas afficher ton fielderror. A moins que tu étendes le thème simple.
    As-tu essayé avec un autre thème?

Discussions similaires

  1. Problèmes pour tracer des graphiques avec une macro
    Par Margoooot dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/08/2011, 17h19
  2. [MySQL] Problème pour comparer des valeurs avec accent
    Par pierrot10 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 21/12/2010, 08h36
  3. Problème pour créer des sous-figures avec subfig
    Par cmilie dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 2
    Dernier message: 17/07/2009, 10h22
  4. Problème pour insérer des enregistrements avec un Pilote ODBC
    Par Michel Giustina dans le forum AS/400
    Réponses: 2
    Dernier message: 21/03/2009, 19h18
  5. Problème pour faire des box extensibles avec des images)
    Par dream_of_australia dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 17/11/2007, 10h58

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