Problème avec tree de Tomahawak
Bonjour
j'ai créé un projet JSF 2.x et je voudrais créer un écran maitre/esclave (utilisation de facelets), dans la partie gauche j’insère une arborescence (composant tree de Tomahawk) et quand je cliquerais sur un nœud les donnés s'afficheront dans la partie droite
j'utilise Myeclipse et Tomcat 7 comme serveur d'application
Mais lors de l’exécution rien ne va et je crois que le problème vient des fichiers de configuration ou/et de la classe Corbeilles.java
Merci,
les Libs du projet:
Citation:
Tomahawk 1.1.10
JSF mojarra-2.1.2-FCS
Classe Corbeille
Code:
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
| package fr.projet.jsf;
import org.apache.myfaces.custom.tree.DefaultMutableTreeNode;
import org.apache.myfaces.custom.tree.model.DefaultTreeModel;
public class Corbeilles {
private DefaultTreeModel tree;
public Corbeilles()
{
DefaultMutableTreeNode root = new DefaultMutableTreeNode("XY");
DefaultMutableTreeNode a = new DefaultMutableTreeNode("A");
root.insert(a);
DefaultMutableTreeNode b = new DefaultMutableTreeNode("B");
root.insert(b);
DefaultMutableTreeNode c = new DefaultMutableTreeNode("C");
root.insert(c);
DefaultMutableTreeNode node = new DefaultMutableTreeNode("a1");
a.insert(node);
node = new DefaultMutableTreeNode("a2 ");
a.insert(node);
node = new DefaultMutableTreeNode("b ");
b.insert(node);
a = node;
node = new DefaultMutableTreeNode("x1");
a.insert(node);
node = new DefaultMutableTreeNode("x2");
a.insert(node);
tree = new DefaultTreeModel(root);
}
public DefaultTreeModel getTree() {
return tree;
}
public void setTree(DefaultTreeModel tree) {
this.tree = tree;
}
} |
Fichier home.xhtml
Code:
1 2 3 4 5 6 7 8 9 10
|
<!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"
xmlns:f="http://java.sun.com/jsf/core">
<title>fichier de paramétrage</title>
<ui:define name="content">traitements</ui:define>
</html> |
Fichier template.xhtml
Code:
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
|
<!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"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:t="http://myfaces.apache.org/tomahawk">
<f:view>
<head>
<title>Facelets example</title>
</head>
<body>
<h:form>
<table width="100%">
<tr>
<td width="20%">
<div style="height: 250px; width: 100%; background-color: #e0e0e0; text-align: center;">
<br />
<ui:insert name="sidemenu"></ui:insert>
<t:tree id="tree" value="#{treeBean.tree}"
styleClass="tree"
nodeClass="treenode"
selectedNodeClass="treenodeSelected"
expandRoot="true">
</t:tree>
</div>
</td>
<td width="85%">
<ui:insert name="content">Content displayed from Template </ui:insert>
</td>
</tr>
</table>
</h:form>
</body>
</f:view>
</html> |
Fichier web.xml
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
<?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_3_0.xsd" version="3.0">
<display-name></display-name>
<welcome-file-list>
<welcome-file>home.faces</welcome-file>
</welcome-file-list>
<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>
</web-app> |
Fichier faces-config.html
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
<?xml version="1.0" encoding="UTF-8"?>
<faces-config
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-facesconfig_2_0.xsd"
version="2.0">
<managed-bean>
<managed-bean-name>treeBean</managed-bean-name>
<managed-bean-class>fr.projet.jsf.Corbeilles</managed-bean-class>
<managed-bean-scope>application</managed-bean-scope>
</managed-bean>
</faces-config> |
Erreurs lors de l’exécution
Citation:
type Rapport d''exception
message
description Le serveur a rencontré une erreur interne () qui l'a empêché de satisfaire la requête.
exception
javax.servlet.ServletException: org/apache/myfaces/custom/tree/MutableTreeNode
javax.faces.webapp.FacesServlet.service(FacesServlet.java:321)
cause mère
java.lang.NoClassDefFoundError: org/apache/myfaces/custom/tree/MutableTreeNode
java.lang.Class.getDeclaredConstructors0(Native Method)
java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
java.lang.Class.getConstructor0(Class.java:2699)
java.lang.Class.getConstructor(Class.java:1657)
com.sun.faces.mgbean.BeanBuilder.loadBeanClass(BeanBuilder.java:428)
com.sun.faces.mgbean.BeanBuilder.bake(BeanBuilder.java:379)
com.sun.faces.mgbean.ManagedBeanBuilder.bake(ManagedBeanBuilder.java:86)
com.sun.faces.mgbean.BeanManager.preProcessBean(BeanManager.java:349)
com.sun.faces.mgbean.BeanManager.create(BeanManager.java:258)
com.sun.faces.el.ManagedBeanELResolver.resolveBean(ManagedBeanELResolver.java:191)
com.sun.faces.el.ManagedBeanELResolver.getValue(ManagedBeanELResolver.java:73)
javax.el.CompositeELResolver.getValue(CompositeELResolver.java:67)
com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:71)
org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:71)
org.apache.el.parser.AstValue.getValue(AstValue.java:147)
org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:189)
com.sun.faces.facelets.el.ELText$ELTextVariable.toString(ELText.java:210)
com.sun.faces.facelets.compiler.AttributeInstruction.write(AttributeInstruction.java:86)
com.sun.faces.facelets.compiler.UIInstructions.encodeBegin(UIInstructions.java:78)
com.sun.faces.facelets.compiler.UILeaf.encodeAll(UILeaf.java:179)
javax.faces.render.Renderer.encodeChildren(Renderer.java:164)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:849)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1643)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1646)
com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:389)
com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:127)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:117)
com.sun.faces.lifecycle.Phase.doPhase(Phase.java:97)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:135)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:309)
cause mère
java.lang.ClassNotFoundException: org.apache.myfaces.custom.tree.MutableTreeNode
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1676)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521)
java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
java.lang.Class.getDeclaredConstructors0(Native Method)
java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
java.lang.Class.getConstructor0(Class.java:2699)
java.lang.Class.getConstructor(Class.java:1657)
com.sun.faces.mgbean.BeanBuilder.loadBeanClass(BeanBuilder.java:428)
com.sun.faces.mgbean.BeanBuilder.bake(BeanBuilder.java:379)
com.sun.faces.mgbean.ManagedBeanBuilder.bake(ManagedBeanBuilder.java:86)
com.sun.faces.mgbean.BeanManager.preProcessBean(BeanManager.java:349)
com.sun.faces.mgbean.BeanManager.create(BeanManager.java:258)
com.sun.faces.el.ManagedBeanELResolver.resolveBean(ManagedBeanELResolver.java:191)
com.sun.faces.el.ManagedBeanELResolver.getValue(ManagedBeanELResolver.java:73)
javax.el.CompositeELResolver.getValue(CompositeELResolver.java:67)
com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:71)
org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:71)
org.apache.el.parser.AstValue.getValue(AstValue.java:147)
org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:189)
com.sun.faces.facelets.el.ELText$ELTextVariable.toString(ELText.java:210)
com.sun.faces.facelets.compiler.AttributeInstruction.write(AttributeInstruction.java:86)
com.sun.faces.facelets.compiler.UIInstructions.encodeBegin(UIInstructions.java:78)
com.sun.faces.facelets.compiler.UILeaf.encodeAll(UILeaf.java:179)
javax.faces.render.Renderer.encodeChildren(Renderer.java:164)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:849)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1643)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1646)
com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:389)
com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:127)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:117)
com.sun.faces.lifecycle.Phase.doPhase(Phase.java:97)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:135)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:309)
note La trace complète de la cause mère de cette erreur est disponible dans les fichiers journaux de Apache Tomcat/7.0.16.