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 :

[debutant] problème template jsf 2.0 netbeans 6.8M2


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2006
    Messages
    380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2006
    Messages : 380
    Par défaut [debutant] problème template jsf 2.0 netbeans 6.8M2
    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
    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>
    à 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
    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>
    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
    <?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>
    lorsque j'appelle cette page voici le résultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    montitre monhaut magauche	magauche moncontenu
    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
    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 :
    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
    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

  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
    Par défaut
    Pour mettre une page jsf en page d'accueil:
    dans le welcome-file il faut mettre un /newjsf.jsf, pour que la requete soit traitée par JSF, et créer un fichier vide newjsf.jsf pour ne pas avoir fileNotFoundException.
    tu peux trouver une explication détaillée dans la

    Sinon tu peux essayé d'acceder à ta page directement /newjsf.jsf

  3. #3
    Membre très actif
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2006
    Messages
    380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2006
    Messages : 380
    Par défaut
    sous netbeans je suis obligé de l'appeler xhtml...
    Quand on essaies de faire renommer, il n'y a pas l'accès à l'extension.

    Et que faut il faire ? le mettre dans le répertoire faces ou non ?

  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
    Par défaut
    Citation Envoyé par tralloc Voir le message
    sous netbeans je suis obligé de l'appeler xhtml...
    Quand on essaies de faire renommer, il n'y a pas l'accès à l'extension.

    Et que faut il faire ? le mettre dans le répertoire faces ou non ?
    tu peux créer le fichier en dur, mais, pour voir si le problème vient de là, essaye d'utiliser d'accéder directement à la page.

  5. #5
    Membre très actif
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2006
    Messages
    380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2006
    Messages : 380
    Par défaut
    Déjà j'ai oublié de te remercier de ta réponse, donc merci


    Je viens de faire le test et c'est assez peu instructif hélas.
    Quoique...

    j'ai renommé mon newjsf.xhtml en newjsf.jsf (et j'ai fais le changement dans mon welcome-file)
    lorsque je l'atteint depuis l'application j'obtiens toujours le même résultat, c'est à dire :
    montitre monhaut magauche magauche moncontenu

    Par contre lorsque j'accède directement à la jsf par le chemin :
    http://localhost:8080/WebApplication1/faces/newjsf.jsf

    j'ai une réponse plus claire :
    "HTTP Status 404 - /newjsf.jsf not found"

    une belle erreur 404 alors que tout à l'heure j'avais une page qui voulait un peu dire la même chose mais générée par sun avec un stacktrace...

  6. #6
    Membre très actif
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2006
    Messages
    380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2006
    Messages : 380
    Par défaut
    Je me demande s'il ne manque pas des choses dans mon web.xml (Généré par netbeans), j'ai aussi remarqué qu'il y avait 3 fois le même context param

    J'ai donc simplifié par le vide, mais le résultat est toujours le même.

  7. #7
    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
    Par défaut
    tu as essayé de mettre le pattern de la faces servlet *.jsf et d'essayer d'acceder directement à la page:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://localhost:8080/WebApplication1/newjsf.jsf
    tu dois avoir le fichier newjsf.xhtml à la racine de ta webapp

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 27/11/2011, 18h50
  2. Réponses: 4
    Dernier message: 23/03/2011, 12h07
  3. [DEBUTANT]Problème Navigation JSF
    Par El_touristo dans le forum JSF
    Réponses: 7
    Dernier message: 27/03/2009, 14h58
  4. [debutant]Problèmes
    Par BibiGmi dans le forum OpenGL
    Réponses: 2
    Dernier message: 05/03/2004, 14h00
  5. [Debutant] Problème du linker [Dev-c++4]
    Par Macdir dans le forum Dev-C++
    Réponses: 3
    Dernier message: 30/05/2003, 20h50

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