Bonjour
Je suis tout débutant en jsf, et j'essaies les JSF 2.0
- J'ai installé netbeans 6.8M2 et j'ai créé un projet de type "WebApplication"
-Le serveur d'application est glassfish 3.0
- Framework : java server faces
Librairie : (par défault) use default library which comes whith Server (JSF 2.0)
Configuration : (par défault)
JSF Servlet Name : Faces Servlet
Servlet URL Pattern /faces/*
dans le welcome file list j'ai mis
à l'intérieur j'ai créé un fichier "newTemplate.xhtml" dont voici le contenu
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 <?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0" 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_3_0.xsd"> <context-param> <param-name>javax.faces.PROJECT_STAGE</param-name> <param-value>Development</param-value> </context-param> <context-param> <param-name>javax.faces.PROJECT_STAGE</param-name> <param-value>Development</param-value> </context-param> <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> <session-config> <session-timeout> 30 </session-timeout> </session-config> <welcome-file-list> <welcome-file>/newjsf.xhtml</welcome-file> </welcome-file-list> </web-app>
puis un fichier newjsf.xhtml
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 <?xml version='1.0' encoding='UTF-8' ?> <!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:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html"> <h:head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <link href="./resources/css/default.css" rel="stylesheet" type="text/css" /> <link href="./resources/css/cssLayout.css" rel="stylesheet" type="text/css" /> <title><ui:insert name="titre">Titre par défault</ui:insert></title> </h:head> <h:body> <div id="top" class="top"> <ui:insert name="haut">Haut par défault</ui:insert> </div> <div> <div id="left"> <ui:insert name="gauche">gauche par défaut</ui:insert> </div> <div id="content" class="left_content"> <ui:insert name="contenu">contenu par défaut</ui:insert> </div> </div> </h:body> </html>
lorsque j'appelle cette page voici le résultat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <?xml version='1.0' encoding='UTF-8' ?> <!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:h="http://java.sun.com/jsf/html" xmlns:ui="http://java.sun.com/jsf/facelets"> <ui:composition template="/newTemplate.xhtml"> <ui:define name="titre">montitre</ui:define> <ui:define name="haut">monhaut</ui:define> <ui:define name="gauche">magauche</ui:define> <ui:define name="gauche">magauche</ui:define> <ui:define name="contenu">moncontenu</ui:define> </ui:composition> </html>
Après de nombreux essais et recherches je me suis dit qu'il y avait probablement quelque chose qui n'allait pas. On dirait que mes balises <ui..." ne sont tout simplement pas interprétées, et qu'il y avait une chance qu'il faille créer un répertoire faces indiqué dans la configuration du web.xml
Code : Sélectionner tout - Visualiser dans une fenêtre à part montitre monhaut magauche magauche moncontenu
J'ai donc créé le répertoire faces j'ai glissé mes deux fichiers dedans, j'ai changé le
welcome-file par :"/faces/newjsf.xhtml"
et dans ma page newjsf j'ai changé la référence de mon template par
"/faces/newTemplate.xhtml"
et là c'est très amusant, lorsque je lance le projet par le petit bouton prévu pour ça dans netbeans, j'ai exactement le même résultat, mais par contre, quand je tape directement l'adresse de ma page, voici le message qui ressort de mon navigateur internet :
Est-ce que quelqu'un pourrait me dire ce qu'il faut faire pour que ça marche parce que j'en ai un peu marre de chercher pendant des heures
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 An Error Occurred: /newjsf.xhtml Not Found in ExternalContext as a Resource
Partager