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;
la dernière réponse fonctionne
Merci
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager