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 :

[Struts-Layout] Treeview toujours fermé


Sujet :

Struts 1 Java

  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2004
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 163
    Par défaut [Struts-Layout] Treeview toujours fermé
    Bonjour,
    j'utilise un treeview et je souhaiterai qu'à chaque arrivée sur la page il soit plié. J'ai essayé d'utiliser expandedLevelsAtFirst="0" mais ça marche pas.
    Merci par avance.

  2. #2
    Membre confirmé
    Inscrit en
    Septembre 2004
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 163
    Par défaut
    Re,

    j'ai un peu avancé dans ma recherche apparemment il faut inclure
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <controller processorClass="fr.improve.struts.taglib.layout.workflow.LayoutRequestProcessor" 
     				contentType="text/html;charset=UTF-8" locale="true"/>
    dans le struts-config.xml mais après avoir fait ça j'ai une erreur
    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
     
    Error 500--Internal Server Error 
    java.lang.ClassCastException
    	at org.apache.struts.tiles.TilesRequestProcessor.initDefinitionsMapping(TilesRequestProcessor.java:84)
    	at org.apache.struts.tiles.TilesRequestProcessor.init(TilesRequestProcessor.java:75)
    	at org.apache.struts.action.ActionServlet.getRequestProcessor(ActionServlet.java:602)
    	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
    	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    	at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1077)
    	at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465)
    	at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)
    	at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
    	at fr.gouv.sante.storex.filter.AuthentificationFilter.doFilter(AuthentificationFilter.java:99)
    	at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
    	at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:7053)
    	at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    	at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
    	at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3902)
    	at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2773)
    	at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
    	at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
    Faut -il que j'ai obligatoirement un fichier Tiles? Comment ça marche.
    Merci beaucoup, comme d'hab je patauge dans la semoule...

  3. #3
    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
    Normalement, la déclaration du controller LayoutRequestProcessor dans le struts-config.xml n'est utile que si tu utilises les Tiles.

    En fait, tu as raison.
    Sur le site de Struts-Layout, il est écrit ceci :
    How can I open or close a node programatically ?
    If you create your tree in a Struts action, using the MenuComponent class, you can use the setOpen(boolean) method to open or close a node. This requires the fr.improve.struts.taglib.layout.workflow.LayoutRequestProcessor to be configured in the struts-config.xml file.

  4. #4
    Membre confirmé
    Inscrit en
    Septembre 2004
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 163
    Par défaut
    D'accord, c'est effectivement ce que j'ai vu mais du coup je comprends pas ce qu'il faut que je fasse.

  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
    Essaie de déclarer le plugin des Tiles dans le struts-config.xml :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <plug-in className="org.apache.struts.tiles.TilesPlugin">
    	<set-property property="definitions-config" value="/WEB-INF/tiles-defs.xml" />
            <set-property property="definitions-debug" value="0" />
            <set-property property="definitions-parser-details" value="0" />
            <set-property property="definitions-parser-validate" value="false" />
            <set-property property="moduleAware" value="true"/>					
    </plug-in>
    et ensuite, crée un fichier tiles-def.xml avec seulement ceci dedans :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?xml version="1.0" encoding="ISO-8859-1" ?>
     
    <!DOCTYPE tiles-definitions PUBLIC
           "-//Apache Software Foundation//DTD Tiles Configuration 1.2//EN"
           "http://jakarta.apache.org/struts/dtds/tiles-config_1_2.dtd">
     
    <tiles-definitions>
    </tiles-definitions>

  6. #6
    Membre confirmé
    Inscrit en
    Septembre 2004
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 163
    Par défaut
    J'ai essayé, voilà ce que j'ai:
    java.lang.NullPointerException
    at org.apache.struts.tiles.definition.ComponentDefinitionsFactoryWrapper.getDefinition(ComponentDefinitionsFactoryWrapper.java:84)
    at org.apache.struts.tiles.TilesRequestProcessor.processTilesDefinition(TilesRequestProcessor.java:152)
    at org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:302)
    at fr.improve.struts.taglib.layout.workflow.LayoutRequestProcessor.processForwardConfig(LayoutRequestProcessor.java:39)
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:241)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
    at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1077)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465)
    at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
    at fr.gouv.sante.storex.filter.AuthentificationFilter.doFilter(AuthentificationFilter.java:123)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:7053)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
    at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3902)
    at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2773)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
    Merci

  7. #7
    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
    Il cherche une balise definition dans le tiles-def.xml mais comme tu n'en as pas à définir, je ne vois pas comment tu peux t'en sortir.
    A moins d'en mettre une "bidon" mais je trouve ça franchement lourd.
    C'est bizarre qu'il n'y ait pas moyen de définir le controller seul.

    Peux-tu faire un test en référençant la dtd 1.1 au lieu de la 1.2 :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?xml version="1.0" encoding="ISO-8859-1" ?>
     
    <!DOCTYPE tiles-definitions PUBLIC
           "-//Apache Software Foundation//DTD Tiles Configuration 1.1//EN"
           "http://jakarta.apache.org/struts/dtds/tiles-config_1_1.dtd">
     
    <tiles-definitions>
    </tiles-definitions>

  8. #8
    Membre confirmé
    Inscrit en
    Septembre 2004
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 163
    Par défaut
    Ton conseil était bon, je n'ai plus eu d'erreur (j'ai aussi ajouté une definition bidon) au lancement de l'appli.
    Mais je n'ai pas réussi à fermer mon arbre pour autant!!!
    Donc la solution que j'ai trouvé et de supprimer le cookie qui est sauvegardé par IE dans mon menu.jsp qui se trouve dans chaque page. Si ça intéresse quelqu'un, il suffit de trouver le nom du cookie et de lui donner une date d'expiration passé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <script>  document.cookie = "treeView=; expires=Fri, 21 Dec <%=Math.round(Math.random()*24+1976)%> 04:31:24 GMT;";</script>
    J'ai rajouté une formule qui permet de changer de date de 1976 à 2000.
    Merci pour votre aide.

Discussions similaires

  1. [struts layout]treeview et action
    Par david06600 dans le forum Struts 1
    Réponses: 2
    Dernier message: 08/11/2006, 17h17
  2. Réponses: 1
    Dernier message: 26/10/2006, 17h44
  3. [Struts-Layout] treeview et message resources
    Par Calahad dans le forum Struts 1
    Réponses: 12
    Dernier message: 02/10/2006, 10h01
  4. [Struts layout] Treeview
    Par Varroux dans le forum Struts 1
    Réponses: 4
    Dernier message: 11/07/2006, 12h01
  5. [STRUTS-LAYOUT] Treeview
    Par DarkWark dans le forum Struts 1
    Réponses: 13
    Dernier message: 29/03/2006, 22h51

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