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 :

Faire un simple Treeview. Please!


Sujet :

Struts 1 Java

  1. #1
    Membre régulier
    Inscrit en
    Septembre 2004
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 163
    Points : 76
    Points
    76
    Par défaut Faire un simple Treeview. Please!
    Salut à tous, je souhaiterai faire un treeview simple pour comprendre comment marche struts layout pour faire des arbres, et je m'arrache les cheveux.
    Voici ma page jsp treeview.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
    27
    28
    29
     
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
    <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
    <%@ taglib uri="/WEB-INF/struts-layout.tld" prefix="layout" %>
     
    <layout:html locale="true">
      <head>
        <title></title>
        <link href="style.css" rel="stylesheet" type="text/css">
        <html:base/>
      </head>
      <body>
    		<layout:treeview>
    		<layout:menuItem key="treeview.menu1" link="link1.html"/>
    		<layout:menuItem key="treeview.menu2">
    		<layout:menuItem key="treeview.menu2.submenu1">
    		<layout:menuItem key="treeview.menu2.submenu1.item1" link="link2.html"/>
    		<layout:menuItem key="treeview.menu2.submenu1.item2" link="link3.html"/>
    		</layout:menuItem>
    		<layout:menuItem key="treeview.menu2.submenu2" link="link3.html"/>
    		<layout:menuItem key="treeview.menu2.submenu3" link="link4.html"/>
    		</layout:menuItem>
    		</layout:treeview>
     
    		<layout:treeview name="java"/>
    </body>
    </layout:html>
    Voici ce que j'ai rajouté dans le struts-config.xml:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <action path="/treeview" type="...util.layout.MenuTreeviewAction">
    	<forward name="success" path="/treeview.jsp"/>
    </action> 
     </action-mappings>
     <message-resources parameter="ApplicationResources"/>
    Et voici mon action
    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
     
    package ....util.layout;
    import java.io.IOException;
    import javax.servlet.ServletException;
    import javax.servlet.ServletContext;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
     
    import org.apache.struts.Globals;
     
    import org.apache.struts.action.Action;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    import org.apache.struts.action.ActionErrors;
    import org.apache.struts.action.ActionMessage;
     
    import fr.improve.struts.taglib.layout.menu.MenuRepository;
    import fr.improve.struts.taglib.layout.menu.MenuComponent;
    import fr.improve.struts.taglib.layout.util.LayoutUtils;
     
    public class MenuTreeviewAction extends Action{
     
     
    	public ActionForward execute(ActionMapping mapping,ActionForm form,
    		 HttpServletRequest request, HttpServletResponse response)
    						throws IOException, ServletException {
     
    		MenuComponent lc_menu1 = new MenuComponent();
    		lc_menu1.setName("java");
    		MenuComponent lc_menu11 = new MenuComponent();
    		lc_menu11.setTitle("Java");
    		MenuComponent lc_menu111 = new MenuComponent();
    		lc_menu111.setTitle("Sun");
    		lc_menu111.setLocation("http://java.sun.com");
    		lc_menu11.addMenuComponent(lc_menu111);
    		MenuComponent lc_menu112 = new MenuComponent();
    		lc_menu112.setTitle("Eclipse");
    		lc_menu112.setLocation("http://www.eclipse.org");
    		lc_menu11.addMenuComponent(lc_menu112);
    		lc_menu1.addMenuComponent(lc_menu11);
    		LayoutUtils.addMenuIntoSession(request,lc_menu1);
    		return (mapping.findForward("success"));
    	}
    }
    Voici l'erreur que j'obtiens quand j'essaye d'afficher treeview.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
     
    javax.servlet.jsp.JspException: Menu repository not found
    	at fr.improve.struts.taglib.layout.util.LayoutUtils.getMenu(LayoutUtils.java:446)
    	at fr.improve.struts.taglib.layout.treeview.TreeViewTag.doEndLayoutTag(TreeViewTag.java:102)
    	at fr.improve.struts.taglib.layout.LayoutTagSupport.doEndTag(LayoutTagSupport.java:47)
    	at jsp_servlet.__treeview._jspService(__treeview.java:402)
    	at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
    	at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1077)
    	at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465)
    	at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:526)
    	at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:348)
    	at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:7047)
    	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)
    Est-ce que quelqu'un a une idée, please please please!!!
    Merci beaucoup.

  2. #2
    Membre expérimenté Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Points : 1 639
    Points
    1 639
    Par défaut
    Parce que tu dois ajouter ton ton MenuComponent au menu repository
    Regarde cette page :

    http://struts.application-servers.co.../treeview.html

    cette ligne est importante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ((MenuRepository)in_request.getSession().getAttribute(MenuRepository.MENU_REPOSITORY_KEY)).addMenu(lc_menu1);
    Je suppose que c est ce que tu essaye de faire avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LayoutUtils.addMenuIntoSession(request,lc_menu1);
    mais apparament ca marche pas des masses

  3. #3
    Membre régulier
    Inscrit en
    Septembre 2004
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 163
    Points : 76
    Points
    76
    Par défaut
    Merci pour ta réponse, le problème n'était pas là mais dans le Struts-layout.properties où il fallait que je redéfinisse la propriété treeview.action
    Merci pour ton aide, en tous cas.

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

Discussions similaires

  1. [C#] Comment faire un simple SELECT à SQL Server ?
    Par Rodie dans le forum Accès aux données
    Réponses: 15
    Dernier message: 30/10/2006, 19h04
  2. Comment faire plus simple
    Par siaoly dans le forum Langage
    Réponses: 5
    Dernier message: 11/06/2006, 23h56
  3. Comment faire une simple boucle de décrementation
    Par marcus333 dans le forum Langage
    Réponses: 5
    Dernier message: 05/02/2006, 14h24
  4. Comment faire plus simple
    Par mobscene dans le forum Langage
    Réponses: 5
    Dernier message: 26/07/2005, 05h12
  5. Réponses: 10
    Dernier message: 24/05/2005, 15h09

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