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

JSF Java Discussion :

Probleme avec <rich:fileUpload>


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 13
    Par défaut Probleme avec <rich:fileUpload>
    Bonjour,

    J'ai un problème lorsque j'essai de charger des fichiers, une exception java.lang.NullPointerException se déclenche au moment du chargement du fichier.

    Ma première question est la suivante, est ce que la valeur de l'attribut fileUploadListener doit correspondre à un attribut d'un bean ou à une méthode ?

    voici la partie de code que j'ai utiliser pour faire l'upload :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <rich:fileUpload acceptedTypes="jpg, gif, png, bmp"
                fileUploadListener="{fileUploadBean.listener}"
                 maxFilesQuantity="#{fileUploadBean.uploadsAvailable}"	 
                 immediateUpload="#{fileUploadBean.autoUpload}"
    	  uploadData="#{fileUploadBean.files}"
                 id="upload" listHeight="60px" listWidth="250px"
                 clearControlLabel="Annuler" uploadControlLabel="Charger"
                 clearAllControlLabel="Effacer tous" doneLabel="Succés" 
                 stopControlLabel="Arreter" addControlLabel="Ajouter...">
                   <a4j:support event="onuploadcomplete" /> 
    </rich:fileUpload>
    Le fichier FileUploadBean :
    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
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
     
    package file;
     
    import java.io.IOException;
    import java.io.OutputStream;
    import java.util.ArrayList;
     
    import org.richfaces.event.UploadEvent;
    import org.richfaces.model.UploadItem;
     
     
    public class FileUploadBean{
     
    	private ArrayList<File> files = new ArrayList<File>();
    	private int uploadsAvailable = 1;
    	private boolean autoUpload = false;
    	private boolean useFlash = false;
     
     
    	public int getSize() {
    		if (getFiles().size()>0){
    			return getFiles().size();
    		}else 
    		{
    			return 0;
    		}
    	}
     
    	public FileUploadBean() {
    	}
     
    	public synchronized void paint(OutputStream stream, Object object) throws IOException {
    		stream.write(getFiles().get((Integer)object).getData());
    	}
    	public synchronized void listener(UploadEvent event) throws Exception{
    	    UploadItem item = event.getUploadItem();
    	    File file = new File();
    	    file.setLength(item.getData().length);
    	    file.setName(item.getFileName());
    	    file.setData(item.getData());
    	    files.add(file);
    	    uploadsAvailable--;
    	}
     
    	public String clearUploadData() {
    		files.clear();
    		setUploadsAvailable(5);
    		return null;
    	}
     
    	public long getTimeStamp(){
    		return System.currentTimeMillis();
    	}
     
    	public ArrayList<File> getFiles() {
    		return files;
    	}
     
    	public void setFiles(ArrayList<File> files) { 
    		this.files = files;
    	}
     
    	public int getUploadsAvailable() {
    		return uploadsAvailable;
    	}
     
    	public void setUploadsAvailable(int uploadsAvailable) {
    		this.uploadsAvailable = uploadsAvailable;
    	}
     
    	public boolean isAutoUpload() {
    		return autoUpload;
    	}
     
    	public void setAutoUpload(boolean autoUpload) {
    		this.autoUpload = autoUpload;
    	}
     
    	public boolean isUseFlash() {
    		return useFlash;
    	}
     
    	public void setUseFlash(boolean useFlash) {
    		this.useFlash = useFlash;
    	}
     
    }
    Le fichier File :
    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
    50
    51
    52
     
    package file;
     
    public class File {
     
    	private String Name;
    	private String mime;
    	private long length;
    	private byte[] data;
     
     
     
    	public byte[] getData() {
    		return data;
    	}
    	public void setData(byte[] data) {
    		this.data = data;
    	}
     
    	public String getName() {
    		return Name;
    	}
    	public void setName(String name) {
    		Name = name;
    		int extDot = name.lastIndexOf('.');
    		if(extDot > 0){
    			String extension = name.substring(extDot +1);
    			if("bmp".equals(extension)){
    				mime="image/bmp";
    			} else if("jpg".equals(extension)){
    				mime="image/jpeg";
    			} else if("gif".equals(extension)){
    				mime="image/gif";
    			} else if("png".equals(extension)){
    				mime="image/png";
    			} else {
    				mime = "image/unknown";
    			}
    		}
    	}
     
    	public long getLength() {
    		return length;
    	}
    	public void setLength(long length) {
    		this.length = length;
    	}
     
    	public String getMime(){
    		return mime;
    	}
    }
    Finalement j'ai rajouté deux paramètres dans le filter au niveau du fichier web.xml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <filter>
      <display-name>RichFaces Filter</display-name>
      <filter-name>richfaces</filter-name>
      <filter-class>org.ajax4jsf.Filter</filter-class>
      <init-param>
      <param-name>createTempFiles</param-name>
      <param-value>true</param-value>
      </init-param>
      <init-param>
      <param-name>maxRequestSize</param-name>
      <param-value>20000000</param-value>
      </init-param>
     </filter>

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 13
    Par défaut
    Dosolé, j'ai oublié de mettre le descriptif de l'exception :
    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
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
     
    [lifecycle] org.apache.jasper.el.JspELException: /index.jsp(121,9) '#{fileUploadBean.listener}' java.lang.NullPointerException
    javax.faces.el.EvaluationException: org.apache.jasper.el.JspELException: /index.jsp(121,9) '#{fileUploadBean.listener}' java.lang.NullPointerException
    	at org.richfaces.webapp.taglib.MethodBindingMethodExpressionAdaptor.invoke(MethodBindingMethodExpressionAdaptor.java:56)
    	at org.richfaces.component.UIFileUpload.broadcast(UIFileUpload.java:158)
    	at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:321)
    	at org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:294)
    	at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:253)
    	at org.ajax4jsf.component.AjaxViewRoot.processDecodes(AjaxViewRoot.java:409)
    	at com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:78)
    	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
    	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
    	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:177)
    	at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:267)
    	at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:340)
    	at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:507)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
    	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:235)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:189)
    	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:91)
    	at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:92)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    	at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:325)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828)
    	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:601)
    	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    	at java.lang.Thread.run(Unknown Source)
    Caused by: org.apache.jasper.el.JspELException: /index.jsp(121,9) '#{fileUploadBean.listener}' java.lang.NullPointerException
    	at org.apache.jasper.el.JspMethodExpression.invoke(JspMethodExpression.java:77)
    	at org.richfaces.webapp.taglib.MethodBindingMethodExpressionAdaptor.invoke(MethodBindingMethodExpressionAdaptor.java:52)
    	... 34 more
    Caused by: java.lang.NullPointerException
    	at file.FileUploadBean.listener(FileUploadBean.java:37)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    	at java.lang.reflect.Method.invoke(Unknown Source)
    	at org.apache.el.parser.AstValue.invoke(AstValue.java:170)
    	at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
    	at org.apache.jasper.el.JspMethodExpression.invoke(JspMethodExpression.java:68)
    	... 35 more
    14:46:41,809 ERROR [lifecycle] JSF1054: (Phase ID: APPLY_REQUEST_VALUES 2, View ID: /index.jsp) Exception thrown during phase execution: javax.faces.event.PhaseEvent[source=com.sun.faces.lifecycle.LifecycleImpl@3a2471]
    14:46:41,809 ERROR [BaseXMLFilter] Exception in the filter chain
    javax.servlet.ServletException: org.apache.jasper.el.JspELException: /index.jsp(121,9) '#{fileUploadBean.listener}' java.lang.NullPointerException
    	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:277)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:177)
    	at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:267)
    	at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:340)
    	at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:507)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
    	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:235)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:189)
    	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:91)
    	at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:92)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    	at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:325)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828)
    	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:601)
    	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    	at java.lang.Thread.run(Unknown Source)
    Caused by: javax.faces.el.EvaluationException: org.apache.jasper.el.JspELException: /index.jsp(121,9) '#{fileUploadBean.listener}' java.lang.NullPointerException
    	at org.richfaces.webapp.taglib.MethodBindingMethodExpressionAdaptor.invoke(MethodBindingMethodExpressionAdaptor.java:56)
    	at org.richfaces.component.UIFileUpload.broadcast(UIFileUpload.java:158)
    	at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:321)
    	at org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:294)
    	at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:253)
    	at org.ajax4jsf.component.AjaxViewRoot.processDecodes(AjaxViewRoot.java:409)
    	at com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:78)
    	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
    	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
    	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
    	... 25 more
    Caused by: org.apache.jasper.el.JspELException: /index.jsp(121,9) '#{fileUploadBean.listener}' java.lang.NullPointerException
    	at org.apache.jasper.el.JspMethodExpression.invoke(JspMethodExpression.java:77)
    	at org.richfaces.webapp.taglib.MethodBindingMethodExpressionAdaptor.invoke(MethodBindingMethodExpressionAdaptor.java:52)
    	... 34 more
    Caused by: java.lang.NullPointerException
    	at file.FileUploadBean.listener(FileUploadBean.java:37)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    	at java.lang.reflect.Method.invoke(Unknown Source)
    	at org.apache.el.parser.AstValue.invoke(AstValue.java:170)
    	at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
    	at org.apache.jasper.el.JspMethodExpression.invoke(JspMethodExpression.java:68)
    	... 35 more
    14:46:41,887 ERROR [[Faces Servlet]] "Servlet.service()" pour la servlet Faces Servlet a g�n�r� une exception
    java.lang.NullPointerException
    	at file.FileUploadBean.listener(FileUploadBean.java:37)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    	at java.lang.reflect.Method.invoke(Unknown Source)
    	at org.apache.el.parser.AstValue.invoke(AstValue.java:170)
    	at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
    	at org.apache.jasper.el.JspMethodExpression.invoke(JspMethodExpression.java:68)
    	at org.richfaces.webapp.taglib.MethodBindingMethodExpressionAdaptor.invoke(MethodBindingMethodExpressionAdaptor.java:52)
    	at org.richfaces.component.UIFileUpload.broadcast(UIFileUpload.java:158)
    	at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:321)
    	at org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:294)
    	at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:253)
    	at org.ajax4jsf.component.AjaxViewRoot.processDecodes(AjaxViewRoot.java:409)
    	at com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:78)
    	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
    	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
    	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:177)
    	at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:267)
    	at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:340)
    	at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:507)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
    	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:235)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:189)
    	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:91)
    	at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:92)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    	at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:325)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828)
    	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:601)
    	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    	at java.lang.Thread.run(Unknown Source)
    J'utilise la librairie 3.2.2GA

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 158
    Par défaut
    Ceci doit pointer vers une méthode, un listener plus précisément.
    Voici la méthode qui doit remplir se rôle.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public void listener(UploadEvent event)
    {
        // event contient toutes les informations sur l 'événement et 
    }
    PS: pour que ca marche correctement il faut avoir correctement implémenter les listener de richfaces et de JSF.

  4. #4
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 76
    Par défaut
    tiens voila un exemple qui fonctionne

    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
     
     
    public class FileBean implements FileUploadListener, Serializable{
     
    	private static Logger logger = Logger.getLogger(FileBean.class);
    	private File file = new File();
    	private String fileDownloadedAudio;
    	public FileBean(){}
     
    	public String getFileDownloadedAudio(){
    		return fileDownloadedAudio;
    	}
    	public void setFileDownloadedAudio(String fileDownloadedAudio){
    		this.fileDownloadedAudio = fileDownloadedAudio;
    	}
     
    	public void listener(UploadEvent event)throws IOException{
    		logger.debug("Listener de FILEBEAN");
    		String path;
    		SimpleTreeBean simpleTreeBean= (SimpleTreeBean) FacesContext.getCurrentInstance().getApplication().getELResolver().getValue(FacesContext.getCurrentInstance().getELContext(), null, "simpleTreeBean");
    		file.setLength(event.getUploadItem().getData().length);
    		file.setName(event.getUploadItem().getFileName());
    		file.setData(event.getUploadItem().getData());
    		try
    		{
    			path = ManagerDirectories.createPath(simpleTreeBean.getIdService(), simpleTreeBean.getVersionCourant().getName(), file.getName());
    			fileDownloadedAudio = path;
    			java.io.File f = new java.io.File(path);
    			if(f.exists())
    			{
    				logger.debug("le fichier existe déja");
    			}
    			else
    			{
    				java.io.FileOutputStream myfile = new java.io.FileOutputStream(path);
    				java.io.DataOutputStream sortie = new java.io.DataOutputStream(myfile);
    				sortie.write(file.getData());
    			}
    			logger.debug("Le chemin du fichier telechargé est " + path);
    		}
    		catch(IOException e)
    		{
    			e.printStackTrace();
    		}
    	}

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 13
    Par défaut
    le problème c'est que la fonction "item.getData()" retourne la valeur null.
    Donc ma fonction listener est bien appelée. c'est au niveau de l'appel cité plus haut que l'exception se déclenche. est ce que quelqu'un a une idée sur ce problème ?
    Merci.

  6. #6
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 76
    Par défaut
    dsl

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Probleme avec rich:fileUpload
    Par aniss77 dans le forum JSF
    Réponses: 23
    Dernier message: 20/02/2010, 13h08
  2. problem avec rich:paint2D
    Par iviath dans le forum JSF
    Réponses: 1
    Dernier message: 20/10/2008, 17h04
  3. Probleme avec Rich:panelMenu
    Par midos dans le forum JSF
    Réponses: 1
    Dernier message: 08/09/2008, 08h29
  4. problem avec modalpanel de rich
    Par ghnawfal dans le forum JSF
    Réponses: 3
    Dernier message: 27/08/2008, 15h44
  5. Probleme avec rich:fileupload
    Par solarien dans le forum JSF
    Réponses: 6
    Dernier message: 21/08/2008, 17h06

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