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 :

traitement javascript avant le <logic:forward>


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de questionneuse
    Inscrit en
    Décembre 2005
    Messages
    319
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 319
    Par défaut traitement javascript avant le <logic:forward>
    Bonjour,

    j'ai le problème suivant:

    j'ai cette instruction dans ma première page qui permet de rediriger directement vers la seconde:
    <logic:forward name="LancerAcceuilAction"/>

    mais dedans j'ai mis un traitemnt javascript
    or elle n'effectue pas ce traitement javascript elle renvoie direct vers l'autre page.. Ce que je ne savais pas, je pensais qu'elle ferait d'abord le traitement et ensuite le forward..

    Comment faire pour que ca marche sur la première avant que ca redirige vers la 2ème..
    la solution aurait put etre de mettre la page dans le action de la form mais moi je ve lancer la classe action LancerAccueilAction et non pas la page directement (sinon ca ne met pas a jour les données de ma page d'acceuil et ca génére une exception)..

  2. #2
    Membre confirmé Avatar de stela86
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 197
    Par défaut
    J'ai pas bien compris où ton javascript se situé ! Pourrai tu etre plus clair ou nous donner un exemple stp ?

  3. #3
    Membre éclairé Avatar de questionneuse
    Inscrit en
    Décembre 2005
    Messages
    319
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 319
    Par défaut
    oui je réexplique,

    j'ai mis du code javascript dans la première page et l'utisateur ne voit jamais cette page c'est normal c'est voulu mais le problème c'est le logic:forward redirige directement vers une seconde page sans avoir effectuer le traitement ..

    je sais pas si c clair..

    Enfin là je viens d'avoir une idée :
    faire un <html:form action=LancerAcceuil.do et d'enlever le logic forward mais j'ai besoin de donner un nom a ce form mais la propriété name n'existe pas dans le tag html:form .

    Si tu as une meilleur idée ?

  4. #4
    Membre confirmé Avatar de stela86
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 197
    Par défaut
    Ton jvascript est mis avant ton logic forward ou pas?
    pourrai tu me montrer ce que tu as fait stp?

  5. #5
    Membre Expert
    Avatar de viena
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    1 071
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 071
    Par défaut
    A mon avis, ce que tu veux faire, ou plutot, la facon dont tu veux le faire n'est tout simplement pas possible.
    Le forward sera à mon avis toujours appelé avant le javascript. Heureusement que ca fonctionne dans ce sens la. Imagine, si le javascript etait "utilisé" avant que les balise struts aient "produit leur effet", quand on lance une verification de formulaire en JS en entrée de page, les champs ne seraient pas créés (s'ils sont en tag struts) et ca serait génant !
    J'ai une solution intermédiaire pour toi qui me vient comme ca, mais à mon avis, c'est pas génial et il y a mieux.
    dans ta page que tu ne veux pas afficher, tu mets un formulaire <form> et tu appele ta fonction JS. A la fin de celle ci, tu valide ton formulaire qui a comme action ta page suivante.

  6. #6
    Membre éclairé Avatar de questionneuse
    Inscrit en
    Décembre 2005
    Messages
    319
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 319
    Par défaut
    oui j'ai pensé a ca et ca marche pour le moment donc je vais laisser comme ca.

    Merci

  7. #7
    Membre émérite
    Avatar de yolepro
    Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 918
    Par défaut
    Pour appuyer viena, je dirais même plus que cela vient d'un problème de terminologie.

    Javascript, c'est coté client (une fois que la page est affichée au client).
    Forward, c'est coté serveur (l'url ne change pas, c'est le serveur en interne qui fait suivre une 'request' et une 'response'),

    Il est donc normal que si tu fais un forward, le javascript ne soit pas interpreté.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Affichage d'une image pendant un traitement javascript
    Par aurelien.tournier dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 28/12/2010, 10h09
  2. Equivalent de la balise <logic:forward>
    Par Craukette dans le forum Struts 2
    Réponses: 7
    Dernier message: 04/11/2010, 13h34
  3. logic:forward ne se realise pas
    Par brainbibou dans le forum Struts 1
    Réponses: 0
    Dernier message: 06/08/2010, 13h24
  4. Les traitement Javascript ne fonctionnent plus
    Par paradeofphp dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 21/01/2008, 13h48
  5. Réponses: 2
    Dernier message: 03/06/2006, 00h34

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