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

Struts 1 Java Discussion :

[Tiles] Problème de fichier de configuration ?


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté Avatar de petitpasdelune
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    221
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 221
    Par défaut [Tiles] Problème de fichier de configuration ?
    Bonjour.
    J'essaye de jouer avec tiles. Jusque là tout semble bien fonctionner tant que je n'utilise pas le fichier tiles-defs.xml qui centralise les définitions.
    Je déclare dans mon struts-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
    17
     
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">
    <struts-config>
      <data-sources />
      <form-beans />
      <global-exceptions />
      <global-forwards >
      </global-forwards>
      <action-mappings >
      </action-mappings>
      <controller processorClass="org.apache.struts.tiles.TilesRequestProcesor" bufferSize="4096" />
      <message-resources parameter="com.iscdinformatique.plans.struts.ApplicationResources" />
      <plug-in className="org.apache.struts.tiles.TilesPlugin">
        <set-property property="definitions-config" value="/WEB-INF/tiles-defs.xml" />
      </plug-in>
    </struts-config>
    J'ai 2 jsp (/index.jsp et /login.jsp) et un template (dans /WEB-INF/layout/template-01.jsp). Quand les JSPs sont sous la forme :
    /index.jsp
    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
     
    <%@ page language="java" pageEncoding="UTF-8"%>
     
    <%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %>
    <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
    <%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
    <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
     
    <tiles:insert page="/WEB-INF/layout/template-01.jsp">
    	<tiles:put name="top" value="/WEB-INF/atom/top-off.jsp" />
    	<tiles:put name="head" value="/WEB-INF/atom/head.jsp" />
    	<tiles:put name="menu" value="/WEB-INF/atom/menu-off.jsp" />
    	<tiles:put name="main" value="/WEB-INF/atom/main-welcome.jsp" />
    	<tiles:put name="footer" value="/WEB-INF/atom/footer.jsp" />
    </tiles:insert>
    /WEB-INF/layout/template-01.jsp
    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
     
    <%@ page language="java" pageEncoding="UTF-8"%>
    <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
    <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
    <%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
    <%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html:html lang="true">
      <head>
        <html:base />
        <title><bean:message key="app.name" /></title>
        <link rel="stylesheet" type="text/css" href="/plans/css/bby.css">
        <meta http-equiv="pragma" content="no-cache">
        <meta http-equiv="cache-control" content="no-cache">
        <meta http-equiv="expires" content="0">    
        <meta http-equiv="keywords" content="...">
        <meta http-equiv="description" content="Une belle description :)">
      </head>
      <body>
    	<tiles:insert attribute="top" />
    	<tiles:insert attribute="head" />
    	<tiles:insert attribute="menu" />
    	<tiles:insert attribute="main" />
    	<tiles:insert attribute="footer" />
      </body>
    </html:html>
    tout est ok et les jsp sont bien affichées.

    MAIS quand je suis dans cette situation (fichier de configuration + inser dans la jsp) :
    /index.jsp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <%@ page language="java" pageEncoding="UTF-8"%>
     
    <%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %>
    <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
    <%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
    <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
     
    <tiles:insert definition="index.page" />
    /WEB-INF/tiles-defs.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
     
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE tiles-definitions PUBLIC "-//Apache Software Foundation//DTD Tiles Configuration//EN" "http://struts.apache.org/dtds/tiles-config_1_3.dtd">
    <tiles-definitions>
    	<definition name=".calque" path="/WEB-INF/layout/template-01.jsp">
    		<put name="top" value="/WEB-INF/atom/top-off.jsp" />
    		<put name="head" value="/WEB-INF/atom/head.jsp" />
    		<put name="menu" value="/WEB-INF/atom/menu-off.jsp" />
    		<put name="main" value="/WEB-INF/atom/main-welcome.jsp" />
    		<put name="footer" value="/WEB-INF/atom/footer.jsp" />
    	</definition>
    	<definition name="login.page" extends=".calque">
    		<put name="main" value="/WEB-INF/atom/main-login-form.jsp"/>	
    	</definition>
    	<definition name="index.page" extends=".calque">
    		<put name="main" value="/WEB-INF/atom/main-home.jsp"/>	
    	</definition>
    </tiles-definitions>
    J'ai une erreur du type suivant :
    Etat HTTP 500 -

    type Rapport d'exception

    message

    description Le serveur a rencontré une erreur interne () qui l'a empêché de satisfaire la requête.

    exception

    org.apache.jasper.JasperException: Exception in JSP: /index.jsp:9

    6: <%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
    7: <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
    8:
    9: <tiles:insert definition="index.page" />
    10:


    Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:504)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

    cause mère

    javax.servlet.ServletException: Can't get definitions factory from context.
    org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:858)
    org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:791)
    org.apache.jsp.index_jsp._jspService(index_jsp.java:69)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

    cause mère

    javax.servlet.jsp.JspException: Can't get definitions factory from context.
    org.apache.struts.taglib.tiles.InsertTag.processDefinitionName(InsertTag.java:577)
    org.apache.struts.taglib.tiles.InsertTag.createTagHandler(InsertTag.java:476)
    org.apache.struts.taglib.tiles.InsertTag.doStartTag(InsertTag.java:438)
    org.apache.jsp.index_jsp._jspx_meth_tiles_insert_0(index_jsp.java:85)
    org.apache.jsp.index_jsp._jspService(index_jsp.java:60)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

    note La trace complète de la cause mère de cette erreur est disponible dans les fichiers journaux de Apache Tomcat/5.5.17.
    (rien de plus dans les logs).

    Pouvez-vous m'aider SVP ?

    PPDL

    Contexte :
    - tomcat 5.5.17 / Windows
    - Struts 1.2.7

  2. #2
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    Ton tiles-defs.xml et ta jsp template-01 sont corrects.

    Mais essaie plutôt en codant ceci dans index.jsp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <html:link action="index">Test index</html:link>
    et dans le struts-config.xml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <action path="/index" forward="index.page"/>

  3. #3
    Membre expérimenté Avatar de petitpasdelune
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    221
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 221
    Par défaut
    Ton tiles-defs.xml et ta jsp template-01 sont corrects.

    Mais essaie plutôt en codant ceci dans index.jsp :
    Code :
    <html:link action="index">Test index</html:link>

    et dans le struts-config.xml :
    Code :
    <action path="/index" forward="index.page"/>
    Quelle est l'idée derrière ceci ?
    J'ai toujours le méme problème après les modifications.
    Il accepte la définition du tiles défini dans la jsp, mais quand je fais appel à une définition située dans le tiles-defs.xml, ca plante

    PPDL. Help !

  4. #4
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    Ce que je t'ai conseillé ne fonctionne pas ?
    As-tu le même message d'erreur ?

  5. #5
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    En fait, je t'avais orienté sur une autre solution parce que je n'avais jamais expérimenté ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <tiles:insert definition="index.page" />
    Je viens de l'expérimenter sur un projet Tomcat de test et ça fonctionne très bien.

    Désolée, mais je ne vois pas ce qui peut provoquer ce message d'erreur.

  6. #6
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    Peux-tu regarder dans la console et/ou la log de Tomcat (fichier localhost_log.2006-06-15.txt dans le répertoire logs de Tomcat) si tu as un message d'erreur plus explicite ?

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 27/08/2008, 11h17
  2. Réponses: 4
    Dernier message: 09/09/2005, 12h59
  3. [Log4j] fichier de configuration ou XML ?
    Par nabilblk dans le forum Logging
    Réponses: 2
    Dernier message: 02/09/2005, 16h42
  4. [langage] Lire un fichier de configuration
    Par bobinoo dans le forum Langage
    Réponses: 3
    Dernier message: 04/08/2004, 15h53
  5. Les fichiers de configuration de comptes avec Samba
    Par tomnie dans le forum Réseau
    Réponses: 4
    Dernier message: 18/03/2004, 08h30

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