Salut j'ai un formulaire qui permettra l'upload d'un fichier mais aussi l'enregistrement de 2 champs de texte, j'ai commencé par tester les champs textes mais lorsqu'il me les renvoie dans les formulaires les accents n'apparaissent pas normalement(é à la place de é par ex).
Voici mon formulaire :
et mon code qui récupère les champs et en prévision de l'upload :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <form action="./EnvoiDocument#form" method="POST" enctype="multipart/form-data"> <input type="hidden" name="idMembre" value="<%= message.getIdMembre()%>" /> <div>Fichier à transmettre :</div> <input type="file" name="fichier" value="" /> <div>Titre du message :</div> <input type="text" name="titreMsg" value="<%= message.getTitreMsg()%>" size="30" maxlength="40" /> <div>Contenu du message :</div> <textarea name="contenuMsg" rows="10" cols="100"><%= message.getContenuMsg() %></textarea> <br/> <input type="submit" value="Valider" name="kermit" /> </form>
j'ajoute qu'en debut de ma servlet je met bien :
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 public void getPostsDoc1(HttpServletRequest request) { try { DiskFileItemFactory factory = new DiskFileItemFactory(); factory.setSizeThreshold(Datas.MAXUPLOADSIZE); factory.setRepository(new File("home/temp")); ServletFileUpload upload = new ServletFileUpload(factory); upload.setSizeMax(Datas.MAXUPLOADSIZE); List items = upload.parseRequest(request); Iterator iter = items.iterator(); while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); if (item.isFormField()) { String fieldName=item.getFieldName(); if(fieldName.equals("titreMsg")) { this.titreMsg=item.getString(); } else if(fieldName.equals("contenuMsg")) this.contenuMsg=item.getString(); } } } catch (FileUploadException ex) { Logger.getLogger(Message.class.getName()).log(Level.SEVERE, null, ex); this.setErrorMsg("ERREUR INTERNE FILEUPLOAD"); } }
Merci pour votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8");
Partager