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
j'arrive pas a comprendre pourquoi
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 org.apache.jasper.JasperException: java.lang.RuntimeException: Cannot find FacesContext
en ce qui concerne mon code le voila :
ma page jsp
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 <%@ 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>
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
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>
merci d'avance
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>
Partager