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 :

Probleme affichage des erreurs (hmtl:errors) pour une page contenant 2 formulaires


Sujet :

Struts 1 Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 21
    Points : 8
    Points
    8
    Par défaut Probleme affichage des erreurs (hmtl:errors) pour une page contenant 2 formulaires
    Bonjour,

    je m'explique. J'ai une page web contenant 2 formulaires différents, chacun relié à une action différente. Je gere les erreurs avec des DynaActionForm et les affiche dans mes pages JSP de facon classique avec <html:errors/>.

    J'ai besoin de ces 2 formulaires car ma page web contient une base toujours présente puis le contenu, qui lui est dynamique. Le 1er formulaire me sert à la navigation, et donc à compléter le contenu de ma page. Par exemple lorsque je clique sur un lien, le contenu est modifié et une autre page JSP complète ce contenu. Dans ce contenu j'ai un formulaire classique.

    Jusqu'ici tout fonctionne parfaitement. Cependant, j'ai un petit soucis lorsque j'ai des erreurs dans le formaulaire de mon contenu. Lorsque je n'ai pas d'erreurs, tout va bien et ma page web m'affiche bien ma base + mon contenu. Quand il y a des erreurs (traitées grace à un DynaActionForm et affichées via <html:errors/>) seul mon contenu est affiché et ma base disparait.

    Je voudrais simplement afficher mes erreurs tout en gardant la base.

    Je ne sais pas si je m'exprime clairement. Si vous voulez des extraits de code je peux les joindre par la suite.

    N'hésitez pas à me demander plus d'infos.

    Merci

  2. #2
    Membre actif
    Homme Profil pro
    Développeur Java
    Inscrit en
    Août 2007
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Août 2007
    Messages : 197
    Points : 246
    Points
    246
    Par défaut
    ce n'est pas très clair... mais tu peux toujours ajouter ton code, ça peu aider à comprendre..
    Sinon il ne me semble pas que html:error soit bloquant au point de ne pas afficher le reste de ta page.
    De plus je ne vois pas bien le rapport entre la gestion des erreurs et tes dynaActionForm........
    Dans tous les cas le meilleur moyen de gerer tes erreurs c'est d'utiliser les ActionErrors ou les ActionMessages.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 21
    Points : 8
    Points
    8
    Par défaut
    ouai tout à fait, je gere mes erreurs avec des ActionErrors. Mais quand j'affiche les erreurs via <html:errors/>, l'affichage est alors restreint au 2eme formulaire qu'on vient de submit.

    Voici le code de ma page jsp : (je l'ai simplifié pour vous, normalement le 2eme forme est inclus grace à un <tiles:insert page=...)

    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
     
     <html> 
        <head>
            <title></title>    
            <link href="/KeyserProno/style.css" rel="stylesheet" type="text/css">
            <script language="javascript">         
                function display(val)
                {
                    document.forms[0].contexte.value=val;
                    document.forms[0].submit();
                }    
            </script>
        </head>
        <body>    
            <form name="templateForm" method="post" action="template.do">        
                <input type="hidden" id="contexte" name="contexte"/>        
                <input type="button" name="pronostique" value="Pronostiques" onclick="display('pronostiquesAccueil')" title="Pronostiquez">                
                <input type="button" name="ligue1" value="Ligue 1" onclick="display('ligue1Accueil')" title="Suivre la ligue 1">                                
                <input type="button" name="quitter" value="Quitter" onclick="display('quitter')" title="Quitter le site">
            </form>
            <form name="pronostiquesPronostiquesForm" method="post" action="pronostiques.do">        
                <input type="hidden" name="valider" id="valider"/>
                <select name="journee" onchange="javascript:this.form.submit();javascript:this.form.valider.value='0';">
                    <option value="1">1ère journée</option>                                
                    <option value="2">2ème journée</option>                                
                    <option value="3">3ème journée</option>                                
                    <option value="4">4ème journée</option>                                
                    <option value="5">5ème journée</option>                                
                    <option value="6" selected="selected">6ème journée</option>                                
                    <option value="7">7ème journée</option>
                </select>
                <html:errors/>
            </form>
        </body>
    </html>
    Ci joints 2 imprim ecran. Le premier avec les 2 formulaires et le deuxieme, avec le resultat lors de la validation du deuxieme formulaire. On voit cliarement qu'il n'affiche que ce qu'il y a entre les balises <html:form ... du deuxieme formulaire, et donc il perd tout le style defini sur la page precedente ...

    Quelqu'un comprend ?

    Merci
    Images attachées Images attachées   

  4. #4
    Membre actif
    Homme Profil pro
    Développeur Java
    Inscrit en
    Août 2007
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Août 2007
    Messages : 197
    Points : 246
    Points
    246
    Par défaut
    ^^, il faut que tu utilise <html:form action=""> et <html:html> sinon tu risque d'avoir des incohérences....
    DE plus tu utilise 2 formulaires identifiers par forms[0] et forms[1]
    donc fait attention parceque a chaques fois que tu cliques sur un bouton tu soumet le formulaire 1 et à mon avis c'est le formulaire 2 que tu doit soumettre,(celui contenant les choix de tes équipes) sinon ta méthode validate te retournera constament que tu n'as pas fait tous les prognostics. après au niveau de la perte de style, c'est bizard que tu ais conservé les images mais pas le styles css,...

Discussions similaires

  1. Affichage des donnée de BD dans une page JSP
    Par sigway dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 13/10/2012, 20h49
  2. servlet qui genere une page contenant un formulaire
    Par Arctodus dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 30/03/2009, 09h51
  3. Dédié : affichage des erreurs php pour tous les domaines
    Par renaud26 dans le forum Administration système
    Réponses: 2
    Dernier message: 30/05/2008, 17h14
  4. Activer l'affichage des erreurs pour une IP donnée
    Par guidav dans le forum Langage
    Réponses: 4
    Dernier message: 19/05/2008, 10h43
  5. [Struts Validator] probleme affichage des erreurs
    Par Morpheus2144 dans le forum Struts 1
    Réponses: 7
    Dernier message: 24/01/2006, 15h25

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