Bonjour,
je travaille avec JBoss4.2.0.GA, eclipse 3.3 (europa) et je veux réaliser une appli web utilisant l'ICEFaces il y a donc des JSF, et AJAX.
J'ai installé ICEfaces™ Eclipse Integration dans mon IDE
Pour cela, j'ai créé un dynamique web project via eclipse.
J'ai les librairies nécessaires pour JSF dans mon projet :
jsf-impl.jar
jsf.api.jar
j'utilise JSF version 1.2
ensuite je cré un fichier .jspx dont voici le contenu :
Voici le contenu de mon 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
15
16
17
18
19
20
21
22
23
24
25
26
27 <?xml version="1.0" encoding="ISO-8859-1" ?> <jsp:root version="1.2" xmlns:jsp="http://java.sun.com/JSP/Page" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html" xmlns:ice="http://www.icesoft.com/icefaces/component"> <jsp:directive.page contentType="text/html;charset=ISO-8859-1" pageEncoding="ISO-8859-1"/> <f:view> <ice:outputDeclaration doctypeRoot="HTML" doctypePublic="-//W3C//DTD HTML 4.01 Transitional//EN" doctypeSystem="http://www.w3.org/TR/html4/loose.dtd"/> <html> <head> <title><ice:outputText value="ICEfaces, Ajax for Java EE" /></title> <ice:outputStyle href="./xmlhttp/css/xp/xp.css" /> </head> <body> <ice:outputText value="Thank you for using ICEfaces." /> <ice:form partialSubmit="true" > <ice:messages /> </ice:form> </body> </html> </f:view> </jsp:root>
Les lignes en rouge sont les lignes que j'ai rajouté, la première est pour que ça fonctionne sous JBoss.4.2.0.GA, c'est ce que j'ai lu sur le net
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 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app id="WebApp_ID"> <display-name>ICEFacesProject</display-name> <context-param> <param-name>org.jboss.jbossfaces.WAR_BUNDLES_JSF_IMPL</param-name> <param-value>true</param-value> </context-param> <context-param> <param-name>javax.faces.STATE_SAVING_METHOD</param-name> <param-value>server</param-value> </context-param> <context-param> <param-name>com.icesoft.faces.concurrentDOMViews</param-name> <param-value>false</param-value> <description>To allow multiple windows for a single application. See Concurrent DOM Views in Chapter 3. of Developer Guide.</description> </context-param> <context-param> <param-name>com.icesoft.faces.synchronousUpdate</param-name> <param-value>false</param-value> <description>Turn on/off application-wide synchronous or asynchronous updates. See Synchronous and Asynchronous Updates in Chapter 3. of Developer Guide.</description> </context-param> <context-param> <param-name>com.icesoft.faces.gmapKey</param-name> <param-value>ABQIAAAADlu0ZiSTam64EKaCQr9eTRTOTuQNzJNXRlYRLknj4cQ89tFfpxTEqxQnVWL4k55OPICgF5_SOZE06A</param-value> <description>A Google Maps API key is required if gMap component is used. Sign up for an API key from http://code.google.com/apis/maps/signup.html.</description> </context-param> <context-param> <param-name>com.icesoft.faces.uploadDirectory</param-name> <param-value>upload</param-value> </context-param> <context-param> <param-name>com.icesoft.faces.uploadMaxFileSize</param-name> <param-value>4048576</param-value> </context-param> <listener> <listener-class>com.icesoft.faces.util.event.servlet.ContextEventRepeater</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> <servlet-name>Persistent Faces Servlet</servlet-name> <servlet-class> com.icesoft.faces.webapp.xmlhttp.PersistentFacesServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet> <servlet-name>Blocking Servlet</servlet-name> <servlet-class> com.icesoft.faces.webapp.xmlhttp.BlockingServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet> <servlet-name>uploadServlet</servlet-name> <servlet-class> com.icesoft.faces.component.inputfile.FileUploadServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>Persistent Faces Servlet</servlet-name> <url-pattern>*.iface</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>Persistent Faces Servlet</servlet-name> <url-pattern>*.jspx</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>Persistent Faces Servlet</servlet-name> <url-pattern>/xmlhttp/*</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>Persistent Faces Servlet</servlet-name> <url-pattern>/faces/*</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>Blocking Servlet</servlet-name> <url-pattern>/block/*</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>uploadServlet</servlet-name> <url-pattern>/uploadHtml</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>ICEFacesPage.jspx</welcome-file> </welcome-file-list> </web-app>
Je cré le .war de mon projet que j'exporte sous JBoss, et j'ai cette erreur lorsque JBoss déploie mon .war
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 java.lang.IllegalStateException: Application was not properly initialized at st rtup, could not find Factory: javax.faces.context.FacesContextFactory at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:256) at javax.faces.webapp.FacesServlet.init(FacesServlet.java:142) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper java:1161) at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:9 ...
Je ne sais pas d'où cela peut venir
Si quelqu'un a une idée, je suis preneur
De plus si vous connaissez un tutorial expliquant pas à pas comment créer une application web utilisant ICEFaces et Ajax, et qui fonctionne sous JBoss4.2.0.GA je suis aussi preneur, car je n'arrive pas a en trouvé un.
Merci
Partager