Bonjour,
Je cherche à récupérer un fichier passé par le champ "file" d'un formulaire.
J'ai suivi le tutoriel officiel (méthode 2, recommandée), mais il est très vague : http://struts.apache.org/2.x/docs/ho...oad-files.html
Notamment concernant l'écriture de la classe Action.
J'ai codé le formulaire. Le champ fichier est "myDoc".
J'ai codé l'Action dont voici le code :
Au moment du submit, j'obtiens l'erreur : ERROR ParametersInterceptor:204 - ParametersInterceptor - [setParameters]: Unexpected Exception caught setting 'myDoc' on 'class org.ecoscope.icame.strutsactions.Upload: Error setting expression 'myDoc' with value '[Ljava.lang.String;@6d3ca2'
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
45
46
47
48
49 package org.ecoscope.icame.strutsactions; import org.apache.struts2.components.File; import com.sun.xml.internal.messaging.saaj.packaging.mime.internet.ContentType; public class Upload { private String resultStatus = null; private File myDoc = null; private ContentType myDocContentType = null; private String myDocFileName = null; public String execute() throws Exception { setResultStatus("Succès ! : "+myDoc); return "success"; } //Getters & setters public File getMyDoc() { return myDoc; } public void setMyDoc(File myDoc) { this.myDoc = myDoc; } public ContentType getMyDocContentType() { return myDocContentType; } public void setMyDocContentType(ContentType myDocContentType) { this.myDocContentType = myDocContentType; } public String getMyDocFileName() { return myDocFileName; } public void setMyDocFileName(String myDocFileName) { this.myDocFileName = myDocFileName; } public String getResultStatus() { return resultStatus; } public void setResultStatus(String resultStatus) { this.resultStatus = resultStatus; } }
J'attéris sur la page "success", dont je pense que la méthode execute() est exécutée.
Curieusement, il semble vouloir mettre une chaine dans la propriété "myDoc" qui est un "File".
Questions :
- Où est le problème ?
- Pour le "File, j'ai importé "org.apache.struts2.components.File", mais ce n'est pas le seul type File proposé. Est-ce le bon ? (il y a aussi un java.io.File)
Merci de votre aide.
Pascal
Partager