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 :

[Fichier] Problème Form File


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Juin 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 7
    Par défaut [Fichier] Problème Form File
    Bonjour,

    je suis confronté au problème suivant : j'ai une JSP, sur laquelle sont générés dynamiquement des <input type="file">. Il peut donc y en avoir un nombre aléatoire. Lorsque je submit mon formulaire, je souhaiterais récupérer ces fichiers.
    Jusqu'à présent, utilisant struts, je les récupérais grâce aux formfile, mais j'avais une contrainte sur le nombre de formfile à récupérer.
    Y'a t-il une solution pour récupérer ces fichiers au niveau d'une action struts ?

    PS : j'ai essayé de lire l'inputStream de la requête, mais celui-ci est déjà parcouru par struts lorsqu'il rempli les champs de mon formulaire, donc il n'est plus utilisable au niveau de l'action.
    J'ai également essayé de créer un tableau de formfile au niveau de mon form, et de générer plusieurs <input type="file"> avec le même attribut name, comme il est possible de le faire avec des champs string, mais visiblement struts n'accepte pas ça.

    Y'a t-il une autre solution pour résoudre ce problème ? Quelqu'un a-t-il déjà été confronté à ce problème ?

    Merci d'avance.

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 652
    Par défaut
    Utilise un tableau de FormFile et respecte les conventions de nomages JavaBean à propos des propriétés indexées, cela devrais fonctionner sans problème

  3. #3
    Membre du Club
    Inscrit en
    Juin 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 7
    Par défaut
    En fait j'ai créé, un attribut comme cela dans mon form:

    FormFile[] formFile;

    getFormFile()
    {
    return formFile;
    }
    setFormFile(FormFile[] file)
    {
    formFile = file;
    }

    et dans ma jsp j'ai plusieurs input comme ça :
    <input type="file" name="formFile">
    <input type="file" name="formFile">
    <input type="file" name="formFile">
    ...

    Mais apache, au moment de ma validation, me renvoie une erreur de bean populate.
    Or je vois pas où est le problème.

  4. #4
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 652
    Par défaut
    Propriétés indexées

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public FormFile getFormFile(int i) {
       return (FormFile)formFiles.get(i);
    }
     
    public void setFormFile(int i, FormFile f) {
       formFiles.set(i,f);
    }
    Ensuite, regarde la doc de la propriété indexed des tags html de struts !
    Tu verras, c'est magique !

    Tout est possible, tout est réalisable, c'est le jeu de la vie

  5. #5
    Membre du Club
    Inscrit en
    Juin 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 7
    Par défaut
    Oui mais il me semble que pour utiliser la propriété indexed, il faut être dans une boucle (et peut-être même un logic:iterate), alors que dans mon cas les <input type="file"> sont générés par le clique sur un bouton en javascript.

    Donc je vois pas comment ça serait utilisable.

  6. #6
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 652
    Par défaut
    Je ne vois pas en quoi cela est génant que ce soit créer en javascript !

    Il te suffit simplement de "nommer" les input:file de la manière suivante !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <input type="file" name="formFile[0]">
    <input type="file" name="formFile[1]">
    <input type="file" name="formFile[2]">
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <input type="file" name="formFile[0].file">
    <input type="file" name="formFile[1].file">
    <input type="file" name="formFile[2].file">
    avec file une propriété de type FormFile dans un classe quelquonque et embarquée dans une collection de ton formbean

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

Discussions similaires

  1. Analyse de fichier et mise en forme
    Par blacksnake dans le forum Langage
    Réponses: 4
    Dernier message: 03/03/2007, 18h13
  2. unsupported form file
    Par nutix2003 dans le forum NetBeans
    Réponses: 2
    Dernier message: 19/10/2006, 15h32
  3. Obtenir le nom d'un fichier a partir d'un FILE
    Par Syrmonsieur dans le forum C
    Réponses: 9
    Dernier message: 08/06/2006, 14h59
  4. [DOM] Créer un fichier XML sous une forme bien précise
    Par LaseLiep dans le forum Format d'échange (XML, JSON...)
    Réponses: 8
    Dernier message: 09/06/2005, 18h05
  5. Réponses: 2
    Dernier message: 15/04/2004, 15h44

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