Aide en JSF/Primefaces

Signaler
Messages postés
393
Date d'inscription
lundi 22 juin 2009
Statut
Membre
Dernière intervention
23 décembre 2011
-
boutique009
Messages postés
5
Date d'inscription
samedi 14 mars 2009
Statut
Membre
Dernière intervention
9 février 2013
-
Bonjour,

Je débute l'étude de JSF/Primefaces. Je n'ai pas trouvé des documents qui m'aident pas à commencer à pratiquer

- C'est quoi JSF/Primefaces et quels sont ses rôles ?

- Pouvez vous me fournir des bons documents et des liens pour apprendre JSF/Primefaces ?

- Quels sont les autres technologies qui sont similaires au JSF/Primefaces côté les services offerts ?

Merci.

15 réponses

Messages postés
6413
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
260
Bonjour,

JSF est une sur-couche des servlet qui te permet de réaliser plus facilement des interfaces graphiques. Tu trouvera beaucoup de doc sur internet, cette librairie est très bien documentée. Le but de jsf est de générer des pages html et de gérer les actions effectuées par l'utilisateur avec java.

PrimeFaces est une librairie additionnelle qui te permet d'utiliser des composants plus soignés que les balises html de base, des boutons avec des dégradés de couleurs... Pour la doc, tout est sur le site de PrimeFace, à chaque fois, ils te donnent le code à insérer pour utiliser le composant donc tu t'en sortiras sans problème.

Les technologies similaires au JSF sont les Servlet (plus archaïques) ou un framework comme STRUTS
Messages postés
393
Date d'inscription
lundi 22 juin 2009
Statut
Membre
Dernière intervention
23 décembre 2011
5
Bonjour,

J'ai trouvé des difficultés à mettre en place primefaces et à faire un petit exemple malgré que j'ai commencé à l
ire la documentation citée dans le site officiel de primefaces.

Pardon, pouvez vous m'envoyer un document simple qui nous montre l'utilisation de primefaces ou bien des captures écrans correspondant les différents étapes de l'installation de primefaces jusqu'à l'exécution de l'application (un petit exemple) ?

Merci.
Messages postés
6413
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
260
Je n'ai pas ce genre de document. Décris moi ce qui te poses problème, il n'y a presque rien à faire, juste inclure le jar dans ton projet et copier coller le code.
Messages postés
393
Date d'inscription
lundi 22 juin 2009
Statut
Membre
Dernière intervention
23 décembre 2011
5
Bonjour,

A part le lien indiqué :

[ http://www.techbrainwave.com/?p=198]

J'ai trouvé aussi un démo qui montre l'utilisation de primefaces avec Netbeans :
[
http://www.youtube.com/watch?v=a4CUUD2Sugs&feature=mfu_in_order&list=UL]

Je vous informe que j'ai Netbeans 6.9.1 et j'ai téléchargé primefaces-2.2.1.jar qui j'ai mis dans le même espace de travail.

J'ai suivi le document et le démo, j'ai ajouté dans la page "welcomeJSF.jsp" la ligne suivant:

<%@ taglib uri="http://primefaces.prime.com.tr/ui" prefix="p" %> 


mais j'ai le message d'erreur suivant :

The absolute uri="http://primefaces.prime.com.tr/ui cannot be resolved in either web.xml or the jar files deployed with this application


Je vous informe que je n'ai pas dans mon projet le fichier "index.xhtml"
Voici le code complet de la page "welcomeJSF.jsp"

<%@page contentType="text/html" pageEncoding="UTF-8"%>

<%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
<%@ taglib uri="http://primefaces.prime.com.tr/ui" prefix="p" %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<%--
    This file is an entry point for JavaServer Faces application.
--%>
<f:view>
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
            <title>JSP Page</title>
        </head>
        
            <h:outputText value="JavaServer Faces"/>

        
        
    </html>


Merci pour toute information.
Messages postés
6413
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
260
Bonjour,

Tu fais du jsf 1 ou du jsf 2 ? A priori, tu fais un memi-melo des deux. Tu n'as pas de fichier index.xhtml à créer mais un fichier index.jsp dans lequel tu places :
<jsp:forward page="index.jsf"/>


et dans le web.xml, tu places
<welcome-file-list>
  <welcome-file>index.jsp</welcome-file> 
</welcome-file-list>


Dans tes pages, pour indiquer quel préfixe tu utilises pour primeface :
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.prime.com.tr/ui"
>


Je te donne le contenu de mon web.xml au cas ou :
<?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">
  <display-name>EnsaiJSF</display-name> 
- <context-param>
  com.sun.faces.allowTextChildren

 
  true

 
  </context-param>
- <context-param>
  primefaces.SKIN

 
  none

 
  </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> 
  *.jsf 
  </servlet-mapping>
- <servlet>
  <servlet-name>Resource Servlet</servlet-name> 
  <servlet-class>org.primefaces.resource.ResourceServlet</servlet-class> 
  </servlet>
- <servlet-mapping>
  <servlet-name>Resource Servlet</servlet-name> 
  /primefaces_resource/* 
  </servlet-mapping>
- <welcome-file-list>
  <welcome-file>index.jsp</welcome-file> 
  </welcome-file-list>
  </web-app>
Messages postés
6413
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
260
Aie, les balises html ne passent pas, je fais les remplacements de < par < en espérant que ca marche
Messages postés
6413
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
260
Le contenu de mon fichier web.xml :

  <?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">
  <display-name>EnsaiJSF</display-name> 
- <context-param>
  com.sun.faces.allowTextChildren

 
  true

 
  </context-param>
- <context-param>
  primefaces.SKIN

 
  none

 
  </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> 
  *.jsf 
  </servlet-mapping>
- <servlet>
  <servlet-name>Resource Servlet</servlet-name> 
  <servlet-class>org.primefaces.resource.ResourceServlet</servlet-class> 
  </servlet>
- <servlet-mapping>
  <servlet-name>Resource Servlet</servlet-name> 
  /primefaces_resource/* 
  </servlet-mapping>
- <welcome-file-list>
  <welcome-file>index.jsp</welcome-file> 
  </welcome-file-list>
  </web-app>
Messages postés
6413
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
260
Dans index.jsp, tu places : <jsp:forward page="index.jsf"/>

et pour les préfixes :

<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.prime.com.tr/ui"
>
Messages postés
393
Date d'inscription
lundi 22 juin 2009
Statut
Membre
Dernière intervention
23 décembre 2011
5
Bonjour,

Je n'ai pas un fichier index.jsp dans mon projet.
J'ai seulement deux fichiers JSP : "forwardToJSF.jsp" et "welcomeJSF.jsp"

voici le contenu de fichier "forwardToJSF.jsp":

<%@page pageEncoding="UTF-8"%>
<%--
    This file forwards to the entry of JavaServer Faces application.
    See <welcome-file-list> in web.xml file.
--%>

<jsp:forward page="forwardToJSF.jsf"/>


voici le contenu de fichier "welcomeJSF.jsp":


<%@page contentType="text/html" pageEncoding="UTF-8"%>

<%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
<%@ taglib uri="http://primefaces.prime.com.tr/ui" prefix="p" %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<%--
    This file is an entry point for JavaServer Faces application.
--%>
<f:view>
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
            <title>JSP Page</title>
        </head>
        
            <h:outputText value="JavaServer Faces"/>

        
        
    </html>
</f:view>


Le contenu de mon fichier web.xml :

<?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">
    <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>
         *.jsf 
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <welcome-file-list>
        <welcome-file>forwardToJSF.jsp</welcome-file>
    </welcome-file-list>
</web-app>


J'ai fait cet exemple en suivant le démo cité dan le lien au-dessous qui montre l'utilisation de primefaces avec Netbeans :
http://www.youtube.com/watch?v =a4CUUD2Sugs&feature=mfu_in_order&list=UL

Pouvez vous m'indiquer les modifications à faire ?

Merci.
Messages postés
6413
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
260
As tu ajouté le jar de primefaces dans ton projet côté client (dans le dossier lib de web inf) ? Quel message d'erreur obtiens tu ?
Messages postés
393
Date d'inscription
lundi 22 juin 2009
Statut
Membre
Dernière intervention
23 décembre 2011
5
As tu ajouté le jar de primefaces dans ton projet côté client (dans le dossier lib de web inf) ?

J'ai ajouté le jar de primefaces dans mon projet dans le dossier "Libraries" et pas dans le dossier WEB-INF. Le dossier WEB-INF contient seulement deux fichiers "web.xml" et "sun-web.xml". Le dossier Web Pages contient le dossier WEB-INF et les fichiers : "forwardToJSF.jsp" et "welcomeJSF.jsp"

Quel message d'erreur obtiens tu ?


HTTP Status 500 -

type Exception report

message

descriptionThe server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: PWC1232: Exceeded maximum depth for nested request dispatches: 20

note The full stack traces of the exception and its root causes are available in the GlassFish Server Open Source Edition 3.0.1 logs.
GlassFish Server Open Source Edition 3.0.1
Messages postés
393
Date d'inscription
lundi 22 juin 2009
Statut
Membre
Dernière intervention
23 décembre 2011
5
Bonjour,

Le problème est réglé concernant l'installation et la configuration de Primefaces 2.2.1 avec NetBeans 6.9.1.
Il faut choisir JSF 2.0 au lieu le JSF 1.2.
Aussi, j'ai réussi à faire l'application "Hello World" avec JSF 2.0 avec NetBeans 6.9.1.

Maintenant, je voulais faire des applications un peu avancés où il y a des classes java , des composants graphiques, connexion au base des données et etc.

Pouvez vous me fournir des documents et des liens ou des vidéos qui peuvent m'aider et m'assister durant le développement de l'application ?

Merci.
Messages postés
6413
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
260
Je n'en ai pas sous le coude, mais tu trouveras sur internet sans problème
Messages postés
5
Date d'inscription
samedi 14 mars 2009
Statut
Membre
Dernière intervention
9 février 2013

ton fichier xml doit ressembler à ca:
<?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>
javax.faces.PROJECT_STAGE


Development


</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>
*.jsf
*.xhtml
*.faces
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>faces/index.xhtml</welcome-file>
</welcome-file-list>
<error-page>
<exception-type>com.sun.faces.context.FacesFileNotFoundException</exception-type>
<location>/404.html</location>
</error-page>
</web-app>



et aussi si utilise primefaces3.1.jar ajoute dans ton fichier xhtml
<html xmlns ="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui">

et je te recommande vivement utiliser netbeans et de travailler avec
CRUD JSF 2.1 PRIMEFACES hibernate
Messages postés
5
Date d'inscription
samedi 14 mars 2009
Statut
Membre
Dernière intervention
9 février 2013

<?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:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui"
xmlns:ui="http://java.sun.com/jsf/facelets">
<f:view contentType="text/html">
<h:head>
<title>PrimeFaces TRK Exemple</title>

</h:head>
<h:body>


<h:form id="form1">


<h:outputText value="Hello world"/>
</h:form>





</h:body>
</f:view>
</html>