Bonjour,
Je suis face à un léger problème concernant l'appel d'une action struts 2 dans un cas particulier.
En effet l'action d'upload fonctionne farfaitement si je fais un appel ajax/post/get en javascript(jquery) avec l'url suivante :
"/Pho/doUpload.action"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <action name="doUpload" class="struts.file.FileUpload" method="upload"> <result name="input">/WEB-INF/view/file/upload.jsp</result> <result name="success">/WEB-INF/view/file/upload.jsp</result> <result>/WEB-INF/view/file/upload-success.jsp</result> </action>Autant cela ne fonctionne pas en utilisant les plugins jquery qui me permettent l'upload de fichiers en affichant des progress bar. Je m'explique :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 public String upload() throws Exception { try { File theFile = new File(fullFileName); FileUtils.copyFile(upload, theFile); .... return SUCCESS; } catch (Exception e) { addActionError(e.getMessage()); return INPUT; } }
J'ai testé 2 plugins différents mais qui font la même chose :UploadifyUploadify/
et jcupload
L'utilisation des 2 plugins nécessite la déclaration de 2 variables en javascript :
- L'emplacement d'un fichier swf pour gerer l'upload.
- L'url d'appel du 'script' côté serveur qui reçoit le fichier uploadé.
Et c'est la déclaration de cette url qui pose problème car aucune des possibilités que j'ai essayé ne provoque l'appel de l'action doUpload.
En surveillant avec firebug les requêtes effectuée on s'aperçoit qu'il n'y a aucun appel à l'url "/Pho/doUpload.action".
Je m'aperçois également en mode débug que l'on entre jamais dans le code d'execution de l'action struts2.
Je rappelle que l'action doUpload est bien correctement appelée par un appel post/get/ajax depuis du code javascrip(jquery) en appellant l'url suivante :
""/Pho/doUpload.action" en dehors de toute utilisation des 2 plugins.
-Alors est-ce je swf qui fait provoque cela ?
-Est ma configuration de l'action qui l'empêche d'être appelée correctement ?
On peut facilement penser que le problème provient de l'indication d'une mauvaise url de l'action mais j'ai essayé d'indiquer aux 2 plugins des url relative, absolues, de tout type mais aucun n'a provoqué le déclenchement de l'action.
A savoir que dans la doc des 2 plugins l'url du script serveur était "upload.php" ....
Partager