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 :

Rechargement de page après envoi de fichier


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 30
    Par défaut Rechargement de page après envoi de fichier
    Bonjour,

    je vous explique mon problème.
    J'ai une application struts qui me permet via un formulaire de récupérer un fichier csv, de le traiter dans mon action et de le renvoyer après modification. Lors du clic sur le bouton envoyer pour envoyer le fichier vers l'action, j'affiche avec un javascript un gif qui représente une progressbar pour faire patienter l'utilisateur. Le problème c'est que lorsqu'il me retourne le fichier modifié, la page ne se recharge pas. Or j'ai besoin de réafficher la page en cours pour que l'image soit de nouveau cachée.
    Avez-vous une idée?
    J'espère avoir été claire.

  2. #2
    Membre Expert Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Par défaut
    Au moment ou tu recupere ton fichier , tu masque ton image !
    Facile a dire, mais sans ton code pas evident. L idee c est d exceuter un javascript qui cache ton image ou alors qui fais une redirection vers la meme page

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 30
    Par défaut
    merci willoi, je sais pas si mon code sera très utile...
    dans mon action, j'envoi mon fichier dans la response :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    response.setContentType("text/csv; charset=ISO-8859-1");
    response.setHeader("Content-Disposition", "attachment; filename=\"fichierSortie.csv\";");
    PrintWriter writer = response.getWriter();
    après j'appele une function qui va écrire toutes les infos du fichier dans le writer avec des writer.writer(data);
    après cette écriture je fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    writer.flush() 
    writer.close();
    le fichier est alors proposé en téléchargement à l'utilisateur mais çà se fait de manière automatique, je n'ai pas la main dessus.
    suite à cet envoi je souhaitais actualiser ma page alors à la fin de mon action je fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return mapping.findforward('maPage');
    mais a ce moment là rien ne se passe, la page ne se réaffiche pas et je vois pas comment au niveau de ma jsp je peux savoir que le traitement est fini...

  4. #4
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Je ne vois pas trop où est le problème.
    Quand tu cliques sur le bouton tu actives ton javascript, tu envois les données au contrôleur, et le contrôleur (via le mnémonique et le paramétrage du style <forward name="ok" path="la_page_d'origine_a_afficher">) te réaffiche la page (et donc tu ne devrais plus avoir ta progressBar)

    Si tel n'est pas le cas, peux-tu montrer le code (page + contrôleur + config struts)

    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 30
    Par défaut
    le forward marche très bien si je met en commentaire la partie d'envoi du fichier que j'ai decrit plus haut, la page se recharge sans problème donc le gif est de nouveau caché.
    A partir du moment où j'ajoute les deux lignes pour specifier le type de la reponse (fichier csv notamment) et que jécris dans la reponse
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    response.setContentType("text/csv; charset=ISO-8859-1");
    response.setHeader("Content-Disposition", "attachment; filename=\"fichierSortie.csv\";");
    le forward ne fonctionne plus....
    par contre le fichier m'est bien retourné...

  6. #6
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Oui, effectivement, j'ai répondu pendant que tu précisais, désolé...

    Directement, tu ne peux pas faire ce genre de chose, par contre, tu pourrais utiliser un <iframe> pour envoyer ta demande de modification/téléchargement. Il faudrait utiliser cette ressource pour la progressBar, comme ça, lorsque tu renvoies le fichier, elle devrait s'effacer (j'ai pas fais de test, mais c'est une idée)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 30
    Par défaut
    merci OButterlin, c'est bien ce que je pensais que çà ne fonctionnerais pas comme çà...
    par contre j'ai pas trop saisi ton idée de l'iframe en fait... si tu pouvais préciser un peu plus ton idée, je pourrais peut etre essayer quelquechose...

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

Discussions similaires

  1. Recharger la page après fonction php
    Par leroidje dans le forum Langage
    Réponses: 3
    Dernier message: 08/10/2009, 16h31
  2. [javascript/html] Recharger une page après choix dans liste
    Par pitchoblack dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 20/04/2008, 16h58
  3. Réponses: 3
    Dernier message: 26/02/2008, 09h50
  4. [javascript/php]Recharger une page après choix dans liste déroulante
    Par eyango dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 18/01/2008, 13h34
  5. pb de redirection de page après envoi de formulaire
    Par mariah201083 dans le forum Langage
    Réponses: 3
    Dernier message: 14/06/2007, 16h44

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