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 :

[ Struts ] redirection dans une action [FAQ]


Sujet :

Struts 1 Java

  1. #1
    Membre régulier
    Inscrit en
    Mars 2002
    Messages
    240
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 240
    Points : 102
    Points
    102
    Par défaut [ Struts ] redirection dans une action
    comment dans une action Struts, au niveau de la méthode execute(), faire une redirection vers une url d'un autre serveur (différent de celui où se trouve l'appli struts) ?

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    746
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 746
    Points : 316
    Points
    316
    Par défaut
    je pense que si tu déclare un forward propre à ton action qui pointe vers l'adresse de ton choix et que dans la execute() tu retourne ce forward ca passe.

  3. #3
    Membre régulier
    Inscrit en
    Mars 2002
    Messages
    240
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 240
    Points : 102
    Points
    102
    Par défaut
    voici un extrait du code:
    #Struts-config.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
        <action 
            path="/myAction"
            type="fr.my.struts.action.MyAction">
            <forward name="success" path="http://www.voila.fr" redirect="true"/>
        </action>
    #MyAction.java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
        public ActionForward execute(
            ActionMapping mapping,
            ActionForm form,
            HttpServletRequest request,
            HttpServletResponse response)
            throws Exception {
            ActionForward af = mapping.findForward("success");
            String url = af.getPath();
            String newUrl =url+"?"+request.getQueryString();
     
            return new ActionForward(newUrl);
        }
    #MyPage.html (url = "http://localhost/context/mypage.html)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <form method="get" action="/context/myAction.do" target="_blank">
    ...
    <INPUT type="submit" value="Valider">
    </form>
    à la soummission du formulaire, une nouvelle page HTML s'affiche avec le message d'erreur:
    Error 404: Fichier introuvable : http://www.voila.fr
    la redirection vers "http://www.voila.fr" ne fonctionne pas ...
    une idée ?

  4. #4
    Membre régulier Avatar de dedeloux
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 104
    Points : 75
    Points
    75
    Par défaut
    C'est normal , l'attribut path de la balise forward indique un fichier à ouvrir dans ton appli. C'est donc bien ce qu'il te dit, il ne trouve pas le fichier www.voila.fr puisqu'il n'existe pas. Peut être qu'il y a un autre attribut qui permet de définir une url dans la balise forward mais je ne suis pas sure et je ne vais pas pouvoir t'aider plus que ça dsl ...

  5. #5
    Rédacteur/Modérateur
    Avatar de Laurent.B
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    3 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 3 468
    Points : 17 036
    Points
    17 036
    Par défaut
    essaye de mettre à la fin de ton action
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    response.sendRedirect("www....");
    return null;
    Responsable FAQ Eclipse | Maintiens et développe un des logiciels destinés aux rédacteurs sur developpez.com
    Gardons toujours à l'esprit que le forum constitue une base documentaire, dont l'utilité et la qualité dépendent du soin apporté à nos questions et nos réponses. Soyons polis, précis (dans le titre et dans le corps des questions), concis, constructifs et faisons de notre mieux pour respecter la langue française et sa grammaire. Merci pour nous (les modérateurs) mais aussi et surtout, merci pour vous.
    Problème solutionné => je vais au bas de la page et je clique sur le bouton (qui suite à mise à jour du forum, a légèrement changé d'aspect).

  6. #6
    Membre régulier
    Inscrit en
    Mars 2002
    Messages
    240
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 240
    Points : 102
    Points
    102
    Par défaut
    la dernière réponse fonctionne
    Merci

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

Discussions similaires

  1. [Struts]Variable dans une action non réinitialisé
    Par brousaille dans le forum Struts 1
    Réponses: 7
    Dernier message: 15/01/2006, 00h53
  2. Récuperer un bean dans une action Struts
    Par ksavieras dans le forum Struts 1
    Réponses: 4
    Dernier message: 23/10/2005, 14h55
  3. [Struts] [JavaBean] Deux beans dans une Action
    Par jak0 dans le forum Struts 1
    Réponses: 2
    Dernier message: 19/05/2005, 16h02
  4. Réponses: 3
    Dernier message: 30/07/2004, 10h51
  5. [JSP] [STRUTS] Switch dans une action
    Par babylone7 dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 28/07/2004, 15h21

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