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

Développement Web en Java Discussion :

Enregistrer fichier + rafraîchir la page


Sujet :

Développement Web en Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    759
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 759
    Par défaut Enregistrer fichier + rafraîchir la page
    Bonjour,

    Voici le problème :

    De ma page jsp, je veux qu'en cliquant sur le bouton, j'enregistre un fichier et qu'à la fin la page se recharge.

    Voici l'action effectuée (en rouge à la fin mon problème) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    public ActionForward monAction(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
    //Vérification des donnes de l'utilisateur
    ActionMessages errors = new ActionMessages();
    ...
    
    //Cas A]Erreurs
    this.saveErrors(request, errors);
    return refreshInfos (mapping, form, request, response);
    
    //Cas B]OK : on crée un fichier Excel et on ouvre la boîte de dialogue "Enregistrer Sous"
    //B1)Fichier Excel construit et enregistré sur le serveur
    String file = monService.createExcelFile(lstArg);
    //B2)Boîte de dialogue et enregistrement
    try {
    			OutputStream out = response.getOutputStream();
    
    			File fTemp = new File(file);
    			response.setHeader("Content-length", "" + fTemp.length());
    			response.setHeader("Content-disposition", "attachment; filename=\"" + "monFichierExcel" + "\"");
    			response.setContentType("application/x-download");
    			response.setHeader("Pragma", "public");
    			response.setHeader("Cache-control", "must-revalidate");
    
    			int count;
    			int countTotal = 0;
    			byte buf[] = new byte[4096];
    			BufferedInputStream is = new BufferedInputStream(new FileInputStream(fTemp));
    			while ((count = is.read(buf)) > -1) {
    				countTotal += count;
    				out.write(buf, 0, count);
    			}
    			if (countTotal > 0) {
    				out.flush();
    				out.close();
    			}
    			is.close();
    			fTemp.delete();
    		} catch (Exception e) {
    		}
    	
    //return refreshInfos (mapping, form, request, response); //Aucun effet!
    return null; //impossible de rafraichir la page après.
    
    }
    Mon problème, c'est qu'on ne peut enchaîner l'ouverture de la boîte de dialogue avec une fonction de rafraîchissement (seul return null est permis...)

    Comment faire?

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    759
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 759
    Par défaut
    Si quelqu'un a une solution propre, je suis preneur car je suis sur le point de mettre un palliatif un peu pourri :
    variable côté Java positionnée à true quand besoin de rafraîchir et côté jsp une surveillance régulière (toutes les x secondes) de cette variable pour lancer ensuite un refresh de la page...

    Pas mieux...

Discussions similaires

  1. Réponses: 1
    Dernier message: 22/05/2012, 18h45
  2. Réponses: 1
    Dernier message: 04/11/2007, 21h21
  3. Enregistrement Fichier
    Par TheGoldViking dans le forum C++Builder
    Réponses: 4
    Dernier message: 08/04/2005, 17h32
  4. |VB6] Comment Lister les liens vers des fichiers d'une page web
    Par Mayti4 dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 18/01/2005, 18h17
  5. Insérer un fichier dans une page web
    Par Mad666 dans le forum ASP
    Réponses: 6
    Dernier message: 05/05/2004, 11h22

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