Salut tout le monde,
J'utilise un backing bean dans une page qui sert à la fois à récupérer les valeurs d'un formulaire et dont l'une des méthodes sert de listener pour un rich:fileUpload
J'ai utilisé le logger pour pister mon probléme, le bean est bel et bien instancié et les attributs correspondant au formulaire contiennent bien les données souhaités mais le listener n'est jamais appelé.
J'ai rien mis de sorcier, voici la partie du code concernée:
Le bean :
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 <h:form id="Form1"> <rich:fileUpload listHeight="0px" listWidth="410px" id="filesExcelUpload" immediate="true" acceptedTypes="xsl, xslx" addControlLabel="#{var.addFile}" clearAllControlLabel="#{var.clearAll}" clearControlLabel="#{var.clear}" stopEntryControlLabel="#{var.stopProcess}" uploadControlLabel="#{var.uploadFileLabel}" autoclear="true" immediateUpload="true" fileUploadListener="#{UploadFormBackingBean.listener}" > </h:form>
J'ai déclaré mon bean dans le faces-config.xml et non via les annotations.
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 public class UploadFormBackingBean { /* DES ATTRIBUTS ET AUTRES METHODES */ public void listener(UploadEvent event) throws Exception{ LOG.info("------------- LITSTENER -------------- "); UploadItem uploadItem = event.getUploadItem(); String fileName = uploadItem.getFileName(); java.io.File file = uploadItem.getFile(); String target = "C:/temp/" + fileName; try { InputStream in = new FileInputStream(file); OutputStream out = new FileOutputStream(target); try { // Transfer bytes from in to out byte[] buf = new byte[1024]; int len; while ((len = in.read(buf)) > 0) { out.write(buf, 0, len); } in.close(); out.close(); } catch (IOException e){ in.close(); out.close(); } }finally{} } }
concernant le faces-config.xml, tous les attributs du bean sont détectés donc je ne vais pas le mettre ici.
Est ce que quelqu'un aurait une idée sur une source possible du problème
Toute proposition est la bienvenue et merci d'avance à tous![]()
Partager