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) ?
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) ?
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.
voici un extrait du code:
#Struts-config.xml
#MyAction.java
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>
#MyPage.html (url = "http://localhost/context/mypage.html)
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); }
à la soummission du formulaire, une nouvelle page HTML s'affiche avec le message d'erreur:
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 redirection vers "http://www.voila.fr" ne fonctionne pas ...Error 404: Fichier introuvable : http://www.voila.fr
une idée ?
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 ...
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).
la dernière réponse fonctionne
Merci
Partager