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

Servlets/JSP Java Discussion :

[Servlet] message d'erreur sur un OutputStream


Sujet :

Servlets/JSP Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 70
    Points : 55
    Points
    55
    Par défaut [Servlet] message d'erreur sur un OutputStream
    Bonjour à tous,

    Sur ma page jsp, j'ai un bouton "Imrpimer". Lorsque je clique dessus pour la première fois cela fonctionne.

    Par contre si j'ai fais des modifs sur cette page ( c'est une page qui se recharge lorsqu'on fait des changement dans des combo box), j'ai le message suivant :

    java.lang.IllegalStateException: "getOutputStream()" a déjà été appelé pour cette réponse

    Voici mon code dans mon action :

    response.setContentType("application/pdf");
    response.setHeader("Content-Disposition", "attachment; filename=\"quantitatif.pdf\"");
    try
    {
    OutputStream outputStream = response.getOutputStream();
    SystemeManager systemManager = SystemeManager.getDefaultSystemeManager();
    systemManager.makeCroquisPDF(outputStream, ouvrage);
    }
    catch (IOException e)
    {
    hasErrorsOccured = true;
    log.error(e.getMessage());
    }

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 70
    Points : 55
    Points
    55
    Par défaut
    Personne n'a une idée ?

  3. #3
    Membre éprouvé
    Avatar de yolepro
    Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 918
    Points : 1 144
    Points
    1 144
    Par défaut
    donnes nous le code du bouton pour imprimer.

    Et puis ou se trouve le code que tu as donné? dans la même Action que celle ou se trouve le bouton imprimer ou une autre?

    C'est un peu confu tout ca.
    Etre c'est etre relatif.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 70
    Points : 55
    Points
    55
    Par défaut
    Alors je vais essayer d'eclaircir tout ça

    Dans ma page jsp j'ai le code suivant pour le bouton :

    <html:img styleClass="pointeur" pageKey="bouton.afficher.imprimer.image" altKey="bouton.afficher.imprimer.alt" onclick="BackStep(7)" />
    Ceci renvoie donc sur un javascript :
    function BackStep(step)
    {
    document.forms['<tiles:getAsString name="formName" />'].elements["step"].value = step;
    if(step==6 || step==7)
    {
    if(document.forms['<tiles:getAsString name="formName" />'].elements["donneeCommentaire"].value == "")
    {
    alert("<bean:message key="error.absence.libelle.ouvrage" />");
    }
    else
    {
    document.forms['<tiles:getAsString name="formName" />'].submit();
    }
    }
    else
    {
    document.forms['<tiles:getAsString name="formName" />'].submit();
    }
    }
    Cette fonction javascript me place au bon endroit dans mon action qui est geré avec des étapes dans la même action. Je renvoie donc sur la step correspondante :
    case STEP_AFFICHAGE :
    {
    Ouvrage ouvrage = (Ouvrage) session.getAttribute("ouvrage");

    response.setContentType("application/pdf");
    response.setHeader("Content-Disposition", "attachment; filename=\"quantitatif.pdf\"");
    try
    {
    OutputStream outputStream = response.getOutputStream();
    SystemeManager systemManager = SystemeManager.getDefaultSystemeManager();
    systemManager.makeCroquisPDF(outputStream, ouvrage);
    return null;
    }
    catch (Exception e)
    {
    hasErrorsOccured = true;
    log.error(e.getMessage());
    }

    // On ne change pas de step
    nextStep = STEP_AFFICHAGE;
    // Pas de forward à déterminer pour retourner un fichier
    forward = null;
    break;
    }
    Voilà je précise à tout hasard que si je procède comme ça c'est parce que j'utilise des tiles.

    La je suis sur une piste, je vous tiendrais au courant si je trouve.

  5. #5
    Membre éprouvé
    Avatar de yolepro
    Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 918
    Points : 1 144
    Points
    1 144
    Par défaut
    Je pense que tu ne peux pas utiliser les Action Struts pour faire ce que tu veux.

    Effectivement L'action en elle même retourne la reponse qui va faire tout plein de truc transparent pour toi.

    Fait plutot une servlet dédiée à ton impression ca sera plus propre.
    Etre c'est etre relatif.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 70
    Points : 55
    Points
    55
    Par défaut
    ok merci yolepro !

    tu as raison je vais faire ça avec un servlet dédié

    Merci bcp

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 24/07/2014, 11h30
  2. Message d'Erreur sur Outlook?
    Par mnina dans le forum Outlook
    Réponses: 6
    Dernier message: 13/04/2006, 10h22
  3. message d'erreur sur test module
    Par Daniel MOREAU dans le forum Access
    Réponses: 5
    Dernier message: 23/11/2005, 20h19
  4. message d'erreurs sur copie de fichier
    Par screeminelle dans le forum C++
    Réponses: 9
    Dernier message: 01/11/2005, 14h21
  5. [CR10] Pquoi absence du message d'erreur sur les Nulls ?
    Par speed034 dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 30/11/2004, 15h30

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