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 :

upload image avec jsf


Sujet :

JSF Java

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2010
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 11
    Points : 10
    Points
    10
    Par défaut upload image avec jsf
    bonjour tout le monde

    voila j'essaye de faire une application web avec du jsf , or il met demander de telecharger une image du poste client de l'afficher dans le formulaire et au même temps la stocker dans une base de donnée .

    mon souci est que quand j execute mon script pour l'upload de l'image j ai comme message d'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    org.apache.jasper.JasperException: java.lang.RuntimeException: Cannot find FacesContext
    j'arrive pas a comprendre pourquoi

    en ce qui concerne mon code le voila :

    ma page jsp
    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
     
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
    <%@ taglib uri="http://myfaces.apache.org/tomahawk" prefix="t" %>
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
     
    <html>
     
     
            <head>
            	<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
                <title>File upload test</title>
            </head>
            <f:view>
            <body>
                <h:form id="uploadForm" enctype="multipart/form-data">
                    <h:panelGrid columns="3">
                        <h:outputLabel for="file" value="Select file" />
                        <t:inputFileUpload id="file" value="#{myBean.uploadedFile}" required="true" />
                        <h:message for="file" style="color: red;" />
     
                        <h:panelGroup />
                        <h:commandButton value="Submit" action="#{myBean.submit}" />
                        <h:message for="uploadForm" infoStyle="color: green;" errorStyle="color: red;" />
                    </h:panelGrid>
                </h:form>
     
                <h:outputLink value="file/#{myBean.fileName}" rendered="#{myBean.fileName != null}">
                    Download back
                </h:outputLink>
            </body>
            </f:view>
        </html>
    mon 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
    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
     
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
     
      <welcome-file-list>
        <welcome-file>upload.jsp</welcome-file>
      </welcome-file-list>
    	 <servlet>
    		<servlet-name>Faces Servlet</servlet-name>
    		<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    		<load-on-startup>1</load-on-startup>
    	</servlet>
    	<servlet-mapping>
    		<servlet-name>Faces Servlet</servlet-name>
    		<url-pattern>*.faces</url-pattern>
    	</servlet-mapping>
    	<listener>
    		<listener-class>com.sun.faces.config.ConfigureListener</listener-class>
    	</listener>
     
     
    	<listener>
    		<listener-class>
    			com.sun.faces.application.WebappLifecycleListener
    		</listener-class>
    	</listener>
     
     
    	<filter>
        <filter-name>Extensions Filter</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>100m</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>100k</param-value>
        </init-param>
        <init-param>
            <description>
                Set the path where the intermediary files will be stored.
            </description>
            <param-name>uploadRepositoryPath</param-name>
            <param-value>/temp</param-value>
        </init-param>
     
    	</filter>
     
    	<filter-mapping>
        <filter-name>Extensions Filter</filter-name>
        <servlet-name>Faces Servlet</servlet-name>
    	</filter-mapping>
     
    	<servlet>
        <servlet-name>fileServlet</servlet-name>
        <servlet-class>mypackage.FileServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>fileServlet</servlet-name>
        <url-pattern>/file/*</url-pattern>
    </servlet-mapping>
      
    </web-app>
    et mon faces-config.xml est :
    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
     
    <?xml version="1.0" encoding="UTF-8"?>
    <faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee"
    	xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd">
        <application>
    		<message-bundle></message-bundle>
    	</application>
    	<navigation-rule>
    		<navigation-case>
    		<to-view-id>/upload.jsp</to-view-id>
    		</navigation-case>
    	</navigation-rule>
    	<managed-bean>
    		<managed-bean-name>MyBean</managed-bean-name>
    		<managed-bean-class>
    			mypackage.MyBean</managed-bean-class>
    		<managed-bean-scope>session</managed-bean-scope>
    	</managed-bean>	
    </faces-config>
    merci d'avance

  2. #2
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Points : 5 059
    Points
    5 059
    Par défaut
    Il faut utiliser un composant fileUpload, comme celui de Richfaces.

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2010
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 11
    Points : 10
    Points
    10
    Par défaut
    merci pour ta réponse. mais la j ai pas compris ce que tu veux dire au juste , moi dans mon programme je travail pas avec avec le richfaces . y a pas un autre moyen de résoudre mon problème :s ???

  4. #4
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Points : 5 059
    Points
    5 059
    Par défaut
    Tu ne peux pas accéder aux fichiers clients, pour prendre une image du post client la transferer sur un serveur, tu dois utiliser un composant upload, Si tu n'a pas une librairie qui le propose, tu peux utiliser un filtre, tu peux faire des recherches avec les mots 'upload ,servlet'

  5. #5
    Membre à l'essai
    Inscrit en
    Juillet 2010
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 11
    Points : 10
    Points
    10
    Par défaut
    mais la parmi les libreries que j ai j ai rajouter le commons-fileupload.jar mais toujours j ai le même problème

  6. #6
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2010
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2010
    Messages : 28
    Points : 114
    Points
    114
    Par défaut probablement web.xml
    bonjour

    probablement t'as un problème au niveau de ton web.xml, essaye de voir cet exemple, je l'ai utilisé dans un de mes projets dans lequel j'emploie le fileUpload de Tomahawk, sinon essaye de voir les autres framworks

    - richfaces
    - primefaces

  7. #7
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2010
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2010
    Messages : 28
    Points : 114
    Points
    114
    Par défaut probablement web.xml
    sry j'ai oublié l'exemple

    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
     
    <?xml version="1.0"?>
    <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
     <context-param>
      <param-name>javax.faces.CONFIG_FILES</param-name>
      <param-value>/WEB-INF/faces-config.xml</param-value>
     </context-param>
     <filter>
      <description>Apace MyFaces Extension filter</description>
      <display-name>MyFacesExtensionsFilter</display-name>
      <filter-name>MyFacesExtensionsFilter</filter-name>
      <filter-class>org.apache.myfaces.component.html.util.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>1g</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>100m</param-value>
      </init-param>
      <init-param>
       <description>Set the path where the intermediary files will be stored.</description>
       <param-name>uploadRepositoryPath</param-name>
       <param-value>/temp</param-value>
      </init-param>
     </filter>
     
     <!-- extension mapping for adding <script/>, <link/>, and other resource tags to JSF-pages  -->
     <filter-mapping>
      <filter-name>MyFacesExtensionsFilter</filter-name>
      <servlet-name>Faces Servlet</servlet-name>
     </filter-mapping>
     <!-- extension mapping for serving page-independent resources (javascript, stylesheets, images, etc.)  -->
     <filter-mapping>
      <filter-name>MyFacesExtensionsFilter</filter-name>
      <url-pattern>/faces/myFacesExtensionResource/*</url-pattern>
     </filter-mapping>
     
     
     
     
     
    <!-- Plugging the "Blue Sky" skin into the project -->
    <context-param>
       <param-name>org.richfaces.SKIN</param-name>
       <param-value>blueSky</param-value>
    </context-param>
     
    <!-- Making the RichFaces skin spread to standard HTML controls -->
    <context-param>
          <param-name>org.richfaces.CONTROL_SKINNING</param-name>
          <param-value>enable</param-value>
    </context-param>
     
    <!-- Defining and mapping the RichFaces filter -->
    <filter> 
       <display-name>RichFaces Filter</display-name> 
       <filter-name>richfaces</filter-name> 
       <filter-class>org.ajax4jsf.Filter</filter-class> 
    </filter> 
      
    <filter-mapping> 
       <filter-name>richfaces</filter-name> 
       <servlet-name>Faces Servlet</servlet-name>
       <dispatcher>REQUEST</dispatcher>
       <dispatcher>FORWARD</dispatcher>
       <dispatcher>INCLUDE</dispatcher>
    </filter-mapping>
    <listener>
       <listener-class>com.sun.faces.config.ConfigureListener</listener-class>
    </listener>
     
     
     
     
     <servlet>
      <servlet-name>Faces Servlet</servlet-name>
      <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
      <load-on-startup>1</load-on-startup>
     </servlet>
     <servlet-mapping>
      <servlet-name>Faces Servlet</servlet-name>
      <url-pattern>/faces/*</url-pattern>
     </servlet-mapping>
     <welcome-file-list>
      <welcome-file>faces/index.jsp</welcome-file>
     </welcome-file-list>
     
    </web-app>

Discussions similaires

  1. Upload d'une image avec JSF
    Par ghost69 dans le forum JSF
    Réponses: 0
    Dernier message: 20/07/2010, 12h10
  2. Affichage image avec JSF
    Par cyclopsnet dans le forum JSF
    Réponses: 0
    Dernier message: 03/01/2010, 12h14
  3. Probleme d'affichage de'image avec JSF
    Par rabebIF5 dans le forum JSF
    Réponses: 3
    Dernier message: 28/05/2009, 14h19
  4. Image avec JSF
    Par minos23 dans le forum JSF
    Réponses: 5
    Dernier message: 17/05/2009, 23h23
  5. [CKEditor] pb upload images avec fckeditor
    Par dedel53 dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 05/03/2007, 20h40

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