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 :

Facelets/JSF : accès à la page jsp


Sujet :

JSF Java

  1. #1
    Membre régulier
    Inscrit en
    Avril 2002
    Messages
    176
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 176
    Points : 76
    Points
    76
    Par défaut Facelets/JSF : accès à la page jsp
    Bonjour,

    J'ai installé les librairies pour utiliser Facelets sur mon projet web. Seulement voilà, je rencontre un petit souci, c'est que je ne peux pas accéder à ma page (la ressource n'est pas disponible). Et je n'ai pas d'exception lorsque je run mon appli sur Tomcat.

    Voici ce que j'utilise :
    Tomcat 6
    JEE 6
    Spring Framework 2.5.6
    Spring Security 2.0.5
    Facelets 1.1.14
    JSF 1.2.13

    J'ai mes librairies nécessaires à JSF, à savoir :
    jsf-impl.jar
    jsf-api.jar

    et pour Facelets :
    jsf-facelets.jar

    Voici la conf du 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
    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
    <?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">
     
     	<!-- la servlet -->
    	<servlet>
    		<servlet-name>QueryTool</servlet-name>
    		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    	</servlet>
     
    	<context-param>
    	  <param-name>contextConfigLocation</param-name>
    	  <param-value>/WEB-INF/applicationContext.xml /WEB-INF/applicationContextSecurity.xml
    	  </param-value>
    	</context-param>
     
    	<!-- le mapping des url *.html traité par Spring-->
    	<servlet-mapping>
    		<servlet-name>QueryTool</servlet-name>
    		<url-pattern>*.html</url-pattern>
    	</servlet-mapping>
     
    	<!--  Fichier de démarrage  -->
    	<welcome-file-list>
    	  <welcome-file>index.jsp</welcome-file>
    	</welcome-file-list>
     
    	<!-- le chargeur du contexte spring de l'application -->
    	<listener>
    		<listener-class>
    			org.springframework.web.context.ContextLoaderListener
    		</listener-class>
    	</listener>
     
    	<!--  Spring Security Acegi -->
    	<filter>
    		 <filter-name>springSecurityFilterChain</filter-name>
     		 <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
    	</filter>
     
    	<filter-mapping>
    		 <filter-name>springSecurityFilterChain</filter-name>
    		 <url-pattern>/*</url-pattern>
    	</filter-mapping> 
     
    	<!-- Configuration de JSF / Facelets -->
    	<context-param>
    		<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
    		<param-value>client</param-value>
    	</context-param>
    	<context-param>
    		<param-name>javax.faces.application.CONFIG_FILES</param-name>
    		<param-value>/WEB-INF/faces-config.xml</param-value>
    	</context-param>
    	<context-param>
    		<param-name>com.sun.faces.validateXml</param-name>
    		<param-value>false</param-value>
    	</context-param>
     
    	<servlet>
    		<servlet-name>FacesServlet</servlet-name>
    		<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    		<load-on-startup>1</load-on-startup>
    	</servlet>
    	<servlet-mapping>
    		<!--  mapping url géré par JSF / Facelets  -->
    		<servlet-name>FacesServlet</servlet-name>
    		<url-pattern>/faces/*</url-pattern>
    	</servlet-mapping>
    	<servlet-mapping>
    		<servlet-name>FacesServlet</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>
     
    	<!-- Fin configuration JSF / Facelets -->
     
    </web-app>
    la conf du faces-config.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
    <?xml version="1.0"?>
    <!--
    Copyright 2003 Sun Microsystems, Inc. All rights reserved.
    SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
    -->
    <!DOCTYPE faces-config PUBLIC
    "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN"
    "http://java.sun.com/dtd/web-facesconfig_1_0.dtd">
     
    <faces-config>
    	<application>
    		<locale-config>
    			<default-locale>fr</default-locale>
    		</locale-config>
    	</application>
    </faces-config>
    et la page hello.jsp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <!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:f="http://java.sun.com/jsf/core"
    	xmlns:h="http://java.sun.com/jsf/html">
    <head>
      <title>Ma premiere page XHTML avec facelets</title>
    </head>
    <body>
      <f:view>
        <h:outputText value="Hello World" />
      </f:view>
    </body>
    </html>
    Je run l'application et essaye d'accèder a ma page hello.jsp, mais la page m'indique que la ressource demandée n'est pas disponible.

    Donc, ma question est : Est ce que j'ai loupé qqchose dans ma config ?

    Merci de votre aide

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 65
    Points : 41
    Points
    41
    Par défaut
    Bonjour,
    Citation Envoyé par soony Voir le message
    <!-- Fichier de démarrage -->
    <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
    Je ne connais pas Facelets très bien, mais si index.jsp n'existe pas, je ne pense pas que tu puisses accéder à hello.jsp. Peut-être que je me trompe...

  3. #3
    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
    Points : 5 059
    Points
    5 059
    Par défaut
    Il faut ajouter le FaceletViewHandelers, les pages sont des pages xhtml.
    voilà un cours intéressant.

  4. #4
    Membre régulier
    Inscrit en
    Avril 2002
    Messages
    176
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 176
    Points : 76
    Points
    76
    Par défaut
    Alors j'ai rajouté :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>
    Mais rien n'y fait, lorsque j'accède a ma page directement, j'ai le même message d'erreur.

    J'ai plusieurs questions :
    1/ L'extension de ma page doit etre en .xhtml ou .jsf ?
    2/ Puis je accéder directement a la page ?
    3/ Dois je configurer mon view.properties pour que Spring le prenne en compte (org.springframework.web.servlet.view.JstlView) ?
    4/ Le <url-pattern> est faux puisque je dois mettre /WEB-INF/faces/* Correct ?
    5/ Lorsque je souhaite accéder a ma page, je tape la meme extension que celle du fichier (xhtml ou jsf) ?

  5. #5
    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
    Points : 5 059
    Points
    5 059
    Par défaut
    la page doit avoir l'extension xhtml, pour celà tu dois le définir dans le web.xml comme décrit dans le tutoriel de djo.mos,
    Pour accéder à la page, tu dois utiliser le mapping d éfinit dans le web.xml pour la servlet JSF, je crois que tu l'a définit en .faces.

  6. #6
    Membre régulier
    Inscrit en
    Avril 2002
    Messages
    176
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 176
    Points : 76
    Points
    76
    Par défaut
    tu veux dire que j'y accède avec cette url :

    http://localhost:8080/QueryTool/hello.faces

    ou

    http://localhost:8080/QueryTool/faces/hello.faces

    J'ai renommé mes pages en hello.xhtml sinon.

    Et c'est toujours pareil
    Je n'ai pas d'erreur de compil, ni d'exception

  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
    Points : 5 059
    Points
    5 059
    Par défaut
    tu as suivi le tutoriel?
    Change l'url de mapping à *.jsf, et utilise http://local.../context/page.jsf
    Il ne suffit pas de modifier l'extension de en jsp, il faut aussi indiquer à JSF que l'extension utilisé et xhtml et non jsp.

  8. #8
    Membre régulier
    Inscrit en
    Avril 2002
    Messages
    176
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 176
    Points : 76
    Points
    76
    Par défaut
    bon j'ai trouvé mon erreur, les pages xhtml ne doivent pas etre dans WEB-INF mais dans le répertoire WebContent :s

    Merci !

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

Discussions similaires

  1. empecher l'acces direct page jsp
    Par jakcam dans le forum Tomcat et TomEE
    Réponses: 5
    Dernier message: 15/05/2009, 16h25
  2. Réponses: 7
    Dernier message: 28/08/2008, 22h52
  3. Réponses: 7
    Dernier message: 14/05/2008, 21h50
  4. [JSF]extension des pages jsp
    Par la7su dans le forum JSF
    Réponses: 1
    Dernier message: 28/03/2008, 11h51
  5. [TOMCAT] acces aux page jsp dans un autre repertoire
    Par yanagiba dans le forum Tomcat et TomEE
    Réponses: 8
    Dernier message: 16/08/2005, 06h48

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