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 :

[debutant] - uplaod tomahawk


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Elwe31
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 487
    Par défaut [debutant] - uplaod tomahawk
    Bonjour a tous,

    Voila, j'ai repris l'exemple telecharger sur le site...
    Voila les sources:
    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
    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
     
    import java.io.IOException;
     
    import org.apache.myfaces.custom.fileupload.UploadedFile;
     
    import javax.faces.context.FacesContext;
     
    /**
     * @author Manfred Geiler (latest modification by $Author: grantsmith $)
     * @version $Revision: 472610 $ $Date: 2006-11-08 14:46:34 -0500 (Wed, 08 Nov 2006) $
     */
    public class FileUploadForm
    {
        private UploadedFile _upFile;
        private String _name = "";
     
        public UploadedFile getUpFile()
        {
            return _upFile;
        }
     
        public void setUpFile(UploadedFile upFile)
        {
            _upFile = upFile;
        }
     
        public String getName()
        {
            return _name;
        }
     
        public void setName(String name)
        {
            _name = name;
        }
     
        public String upload() throws IOException
        {
            	FacesContext facesContext = FacesContext.getCurrentInstance();
                facesContext.getExternalContext().getApplicationMap().put("fileupload_bytes", _upFile.getBytes());
                facesContext.getExternalContext().getApplicationMap().put("fileupload_type", _upFile.getContentType());
                facesContext.getExternalContext().getApplicationMap().put("fileupload_name", _upFile.getName());
        	return "ok";
        }
     
        public boolean isUploaded()
        {
            FacesContext facesContext = FacesContext.getCurrentInstance();
            return facesContext.getExternalContext().getApplicationMap().get("fileupload_bytes")!=null;
        }
     
    }
    la page.
    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
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"
    	xmlns:t="http://myfaces.apache.org/tomahawk"
    	xmlns:h="http://java.sun.com/jsf/html"
    	xmlns:f="http://java.sun.com/jsf/core"
    	>
    	<body>
    	<f:view>
       <h:form id="form1">  		
                <h:outputText value=""/>
                <h:outputText value="Fichier"/>
                <t:inputFileUpload id="fileupload"
                                   accept="image/*"
                                   value="#{fileUploadForm.upFile}"
                                   storage="file"
                                   styleClass="fileUploadInput"
                                   required="true"
                                   maxlength="200000"/>
                <h:message for="fileupload" showDetail="true" />
                <f:verbatim><br/></f:verbatim>
                <h:outputText value="Name"/>
                <h:inputText value="#{fileUploadForm.name}"/>
                <h:commandButton value="envoie" action="#{fileUploadForm.upload}" />
     
        </h:form>
       </f:view>  					
    	</body>
    </html>
    resultat.
    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
     
    Error calling action method of component with id form1:_id9
    Caused by:
    java.lang.NullPointerException - /envoie.jsp @25,81 action="#{fileUploadForm.upload}": java.lang.NullPointerException
     
    javax.faces.FacesException: Error calling action method of component with id form1:_id9
    	at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:72)
    	at javax.faces.component.UICommand.broadcast(UICommand.java:141)
    	at javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:115)
    	at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:191)
    	at org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:32)
    	at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:105)
    	at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:80)
    	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:143)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:301)
    	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:233)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
    	at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:857)
    	at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:565)
    	at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1509)
    	at java.lang.Thread.run(Unknown Source)
    Caused by: javax.faces.el.EvaluationException: /envoie.jsp @25,81 action="#{fileUploadForm.upload}": java.lang.NullPointerException
    	at com.sun.facelets.el.LegacyMethodBinding.invoke(LegacyMethodBinding.java:73)
    	at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:61)
    	... 22 more
    Caused by: java.lang.NullPointerException
    	at util.dataObjet.user.FileUploadForm.upload(FileUploadForm.java:41)
    	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 com.sun.el.parser.AstValue.invoke(Unknown Source)
    	at com.sun.el.MethodExpressionImpl.invoke(Unknown Source)
    	at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68)
    	at com.sun.facelets.el.LegacyMethodBinding.invoke(LegacyMethodBinding.java:69)
    	... 23 more
    En faite, si j'ai bien compris l'objet upFile est null alors que _name est bien mise a jour....
    Je ne trouve pas de piste... surtout que dans l'exemple ça fonctionne.

    Merci d'avance.

  2. #2
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Bonjour,

    Que dit ton web.xml ?
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  3. #3
    Membre éclairé Avatar de Elwe31
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 487
    Par défaut
    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
    <?xml version="1.0" encoding="UTF-8"?>
     
    <web-app 
    	version="2.4" 
    	xmlns="http://java.sun.com/xml/ns/j2ee"
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
     
    	<display-name>Test</display-name> 
     
    	<resource-ref>
    		<description>reference a la ressource BDD pour le pool</description>
    		<res-ref-name>jdbc/DbCon</res-ref-name>
    		<res-type>javax.sql.DataSource</res-type>
    		<res-auth>Container</res-auth>
    	</resource-ref> 
     
    <!-- Faces Servlet -->	
    	<servlet>
          <servlet-name>Faces Servlet</servlet-name>
          <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
          <load-on-startup>1</load-on-startup>
       </servlet>   
     
     <!-- Faces Servlet Mapping -->
        <servlet-mapping>
          <servlet-name>Faces Servlet</servlet-name>
          <url-pattern>*.jsf</url-pattern>
       </servlet-mapping>
     
     <!-- Context Param -->   	
     	<context-param>
            <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
            <param-value>client</param-value>
        </context-param>   
     	<context-param>
      		<param-name>com.sun.faces.validateXml</param-name>
      		<param-value>true</param-value>
     	</context-param>
     	<context-param>
      		<param-name>com.sun.faces.verifyObjects</param-name>
      		<param-value>true</param-value>
     	</context-param>
    	<context-param>
    		<param-name>org.apache.myfaces.CHECK_EXTENSIONS_FILTER</param-name>
        	<param-value>true</param-value>
      	</context-param>
     
      <filter>
      		<filter-name>extensionsFilter</filter-name> 
      		<filter-class>org.apache.myfaces.webapp.filter.ExtensionsFilter</filter-class> 
      		<init-param>
      			<description>Set the size limit for uploaded files. Format: 10 - 10 bytes 10k - 10 KB 10m - 10 MB 1g - 1 GB</description> 
      			<param-name>uploadMaxFileSize</param-name> 
      			<param-value>10m</param-value> 
      		</init-param>
     		<init-param>
      			<description>Set the threshold size - files below this limit are stored in memory, files above this limit are stored on disk. Format: 10 - 10 bytes 10k - 10 KB 10m - 10 MB 1g - 1 GB</description> 
      			<param-name>uploadThresholdSize</param-name> 
      			<param-value>10m</param-value> 
      		</init-param>
      </filter>
      <filter-mapping>
      	<filter-name>extensionsFilter</filter-name> 
      	<url-pattern>*.jsf</url-pattern> 
      </filter-mapping>
      <filter-mapping>
      	<filter-name>extensionsFilter</filter-name> 
      	<url-pattern>/faces/*</url-pattern> 
      </filter-mapping>
     
      
     <!-- Servlet Mapping -->     
    	<servlet> 
    		<servlet-name>test</servlet-name> 
    		<servlet-class>test</servlet-class> 
    	</servlet> 
     
      <welcome-file-list>
        <welcome-file>index.jsf</welcome-file>
        <welcome-file>index.html</welcome-file>
      </welcome-file-list>
     
    </web-app>

  4. #4
    Membre éclairé Avatar de Elwe31
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 487
    Par défaut
    J'y suis depuis Hier soir, et j'avance pas....

    S'il vous plait une piste !!!

    merci d'avance..

  5. #5
    Membre éclairé Avatar de snipes
    Inscrit en
    Septembre 2004
    Messages
    547
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 547
    Par défaut
    salut,
    essaye ca : <h:form enctype="multipart/form-data">

  6. #6
    Membre éclairé Avatar de Elwe31
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 487
    Par défaut
    Merci !!

    Bon, je sais pas si c'est un progres... mais j'ai ça maintenant :
    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
     
    java.lang.OutOfMemoryError: Java heap space
    	at java.io.ByteArrayOutputStream.<init>(Unknown Source)
    	at org.apache.commons.fileupload.DeferredFileOutputStream.<init>(DeferredFileOutputStream.java:131)
    	at org.apache.commons.fileupload.DefaultFileItem.getOutputStream(DefaultFileItem.java:558)
    	at org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:406)
    	at org.apache.myfaces.webapp.filter.MultipartRequestWrapper.parseRequest(MultipartRequestWrapper.java:86)
    	at org.apache.myfaces.webapp.filter.MultipartRequestWrapper.getParameter(MultipartRequestWrapper.java:182)
    	at org.apache.myfaces.context.servlet.RequestParameterMap.getAttribute(RequestParameterMap.java:42)
    	at org.apache.myfaces.context.servlet.AbstractAttributeMap.get(AbstractAttributeMap.java:91)
    	at com.sun.facelets.tag.ui.UIDebug.debugRequest(UIDebug.java:119)
    	at com.sun.facelets.FaceletViewHandler.restoreView(FaceletViewHandler.java:311)
    	at org.apache.myfaces.lifecycle.RestoreViewExecutor.execute(RestoreViewExecutor.java:82)
    	at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:105)
    	at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:80)
    	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:143)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:301)
    	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:233)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
    	at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:857)
    	at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:565)
    	at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1509)
    	at java.lang.Thread.run(Unknown Source)

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

Discussions similaires

  1. [DEBUTANT] - Face+Tomahawk+facelet
    Par Elwe31 dans le forum JSF
    Réponses: 4
    Dernier message: 19/03/2009, 08h23
  2. [FLASH] pb debutant
    Par ultrakas dans le forum Flash
    Réponses: 2
    Dernier message: 05/06/2003, 00h48
  3. [debutant]Limiter le temps de saisi
    Par Nasky dans le forum C
    Réponses: 5
    Dernier message: 17/03/2003, 15h47
  4. [Debutant] Fichier war
    Par saispasfau dans le forum JBuilder
    Réponses: 2
    Dernier message: 17/03/2003, 15h32
  5. Réponses: 3
    Dernier message: 09/02/2003, 01h09

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