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 :

Formulaire avec input="text" et input="file"


Sujet :

Servlets/JSP Java

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    92
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 92
    Par d�faut Formulaire avec input="text" et input="file"
    Bonjour,
    j'ai un formulaire qui fonctionne bien au d�part, ne contenant que du texte, j'ai voulu l'adapter pour que l'utilisateur puisse envoyer une image (son portrait en l'occurrence), et j'ai donc rajout� enctype="multipart/form-data" dans la balise form, mais du coup il ne m'est plus possible de r�cup�rer mes input de type text.
    Sur ce forum un vieux post indique qu'il faut utiliser 2 formulaires avec un seul bouton pour le valider mais je ne sais pas du tout comment faire et ne trouve aucun exemple concret.
    C'est la bonne m�thode o� je dois m'y prendre autrement ?
    Quelques explications seraient les bienvenues

  2. #2
    Expert �minent
    Avatar de tchize_
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par d�faut
    vous devez r�cup�rer vos input text de la meme manier que vous input file, en parsant le multipart form data. Des outils comme commons-fileupload le font pour vous. Ce qui est sur c'est que request.getParameter() ne vous retournera rien, car il ne reconnait pas dans sa spec cet encodage.

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    92
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 92
    Par d�faut
    hum, je me rends compte de ce probl�me, mais du coup ca m'oblige � r��crire toute la servlet ??

    Peut-on cr�er un objet de type collection au d�but de la servlet ou set ou je sais pas quoi pour y mettre tous les param�tres de type texte et ensuite pouvoir r�cup�rer les param�tres comme si on utilisait la request mais en manipulant un aute objet, histoire que je n'ai pas tout � r��crire.

    Euh en passant, si je remets des param�tres dans ma servlet ils vont bien repartir vers la jsp dans le m�me format qu'avant ? ou bien faut-il faire une autre manip avant d'utiliser l'objet request ?

  4. #4
    Expert �minent
    Avatar de tchize_
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par d�faut
    regardez la doc de commons-fileupload, tout y est expiqu�, y compris comment d�finir un filter qui fait le parsing et permet d'utiliser la servlet comme avant

  5. #5
    Membre confirm�
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    92
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 92
    Par d�faut
    Effectivement, je suis dessus depuis hier � vrai dire, mais apr�s avoir apport� des modifications j'ai un soucis : je v�rifie pourtant bien si ma requete est de type MultipartContent avec
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    if (ServletFileUpload.isMultipartContent(request))
    mais plus loin j'ai
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    try {
                    items = upload.parseRequest(request);
                } catch (FileUploadException ex) {
                    throw new DaoException("Impossible de parser la requête\n" + ex.getMessage(), 4);
                }
    qui me g�n�re
    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
    GRAVE: "Servlet.service()" pour la servlet adminUtilisateur a généré une exception
    dao.DaoException: Impossible de parser la requête
    the request doesn't contain a multipart/form-data or multipart/mixed stream, content type header is null
            at web.administration.AdminUtilisateur.service(AdminUtilisateur.java:87)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
            at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
            at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
            at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
            at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
            at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
            at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
            at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
            at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
            at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
            at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
            at java.lang.Thread.run(Thread.java:662)
    quand je souhaite seulement afficher les donn�es sans renvoyer le formulaire, c'est � s'arracher les cheveux l� non ?

  6. #6
    Membre confirm�
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    92
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 92
    Par d�faut
    je voulais dire que la servlet n'aurait pas d� essayer de parser la requete � ce moment car je souhaite seulement r�cup�rer les infos sur l'utilisateur comme avant pour les afficher, le formulaire multipart s'affichant � ce moment et �tant uniquement trait� dans ce cas...

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Position du texte dans un input type="text"
    Par bulldo dans le forum Mise en page CSS
    R�ponses: 1
    Dernier message: 03/08/2011, 12h41
  2. R�ponses: 12
    Dernier message: 17/03/2009, 11h51
  3. formulaire avec champs de texte dans une boucle
    Par sssmix dans le forum Struts 1
    R�ponses: 2
    Dernier message: 30/04/2008, 16h03
  4. [DOM] Cr�er <input> avec un type != "text"
    Par Mr N. dans le forum G�n�ral JavaScript
    R�ponses: 5
    Dernier message: 23/02/2006, 09h54
  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