Je n'arrive pas à te les envoyer. Je les ai fait en images. je vais réessayer.
Je n'arrive pas à te les envoyer. Je les ai fait en images. je vais réessayer.
Mon serveur Jboss est fourni avec une multitude de librairies dont voici certains.
.jar du serveur JBoss
- antlr.jar
- ejb3-persistence.jar
- hibernate-annotations.jar
- hibernate-client.jar
- hibernate-commons-annotations.jar
- hibernate-validator.jar
- log4j.jar
- asm-attlrs.jar
- asm.jar
- cglib.jar
- common-beanutils.jar
- common-codec.jar
- commons-collections.jar
- commons-digester.jar
- commons-logging.jar
- dom4j.jar
- commons-httpclient.jar
- el-api
- hibernate3.jar
- hibernate-entitymanager.jar
- jboss-hibernate.jar
Je n'ai donc pas trouvé nécessaire de les remettre dans le dossier lib.
Contenu du dossier lib
- commons-dbcp-1.4.jar
- commons-pool-1.5.5.jar
- jta.jar
- richfaces-api-3.2.2.jar
- richfaces-impl-3.2.2.jar
- richfaces-ui-3.2.2.jar
- spring-aop-3.0.2-release.jar
- spring-asm
- spring-aspect
- spring-beans
- spring-context
- spring-context-support
- spring-core
- spring-expression
- spring-instrument
- spring-jdbc
- spring-orm
- spring-jms
PS : Il y a surment des erreurs de frappe
Essaie en mettant les 3 fichiers suivants dans la war :
- hibernate3.jar
- hibernate-entitymanager.jar
- hibernate-annotations.jar
Non, ça ne change rien.
Je suis désespéré
Essaie déjà de le faire marcher sous Tomcat et repasse ensuite à JBoss.
Salut,
Je reviens avec un nouveau problème. L'application, je pense, arrive à se déployer. Mais j'ai ce nouveau problème :
J'aimerais récuperer la liste des directeurs. Et j'ai fait excatement comme dans le tutoriel. mais il ne trouve pas "directeurBean"
Code : Sélectionner tout - Visualiser dans une fenêtre à part org.apache.jasper.JasperException: javax.faces.FacesException: org.apache.jasper.el.JspPropertyNotFoundException: /pages/ListDirecteur.jsp(17,3) '#{directeurBean.directeurTable}' Target Unreachable, identifier 'directeurBean' resolved to null
Voici le contenu du fichier ListDirecteur.jsp
Merci d'avance
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 <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %> <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %> <%@ taglib uri="http://richfaces.org/a4j" prefix="a4j" %> <%@ taglib uri="http://richfaces.org/rich" prefix="rich" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <f:view> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Insert title here</title> </head> <body> <h:form id="mainForm"> <rich:scrollableDataTable id="directeurTable" binding="#{directeurBean.directeurTable}" value="#{directeurBean.directeurList}" var="directeur"> <rich:column id="id_directeur"> <f:facet name="header"><h:outputText value="Code" /></f:facet> <h:outputText value="#{directeur.id_directeur}" /> </rich:column> <rich:column id="nom_directeur"> <f:facet name="header"><h:outputText value="Nom" /></f:facet> <h:outputText value="#{directeur.nom_directeur}" /> </rich:column> <rich:column id="prenom_directeur"> <f:facet name="header"><h:outputText value="Prénom" /></f:facet> <h:outputText value="#{directeur.prenom_directeur}" /> </rich:column> <rich:column id="tel_directeur"> <f:facet name="header"><h:outputText value="Tel" /></f:facet> <h:outputText value="#{directeur.tel_directeur}" /> </rich:column> <rich:column id="mail_directeur"> <f:facet name="header"><h:outputText value="Mail" /></f:facet> <h:outputText value="#{directeur.mail_directeur}" /> </rich:column> </rich:scrollableDataTable> </h:form> </body> </html> </f:view>
D'abord, ce serait sympa que tu nous expliques ce que tu as changé pour que ça se déploie.
Ensuite, le problème viendrait plutôt du bean que de la page. Où et comment est-il déclaré ?
Désolée
effectivement, j'aurai dû vous expliquer comment ça marche.
Je n'ai pas eu à faire grand chose. J'ai recommencé l'application en intégrant un à un les différents frameworks et en vérifiant bien la syntaxe des intégrations. J'ai aussi vérifié la version des .jar (compatibilité)
J'ai lancé l'application avec un fichier ne contenant aucune donnée provenant de la base, ça a marché.
Maintenant, j'essaie donc de récupérer la liste des directeurs. Voici le contenu de DirecteurBean.java
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 package com.geepe.pp.view.bean; import java.io.Serializable; import java.util.List; import javax.annotation.PostConstruct; import com.geepe.pp.model.db.*; import com.geepe.pp.model.service.IDirecteurService; import org.richfaces.component.html.HtmlScrollableDataTable; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Component; @Component("directeurBean") @Scope("session") public class DirecteurBean implements Serializable{ private transient IDirecteurService directeurService; private transient HtmlScrollableDataTable directeurTable; private List<Directeur> directeurList; @PostConstruct public void init(){ directeurList = directeurService.getAllDirecteurs(); } public HtmlScrollableDataTable getDirecteurTable() { return directeurTable; } public void setDirecteurTable(HtmlScrollableDataTable directeurTable) { this.directeurTable = directeurTable; } public List<Directeur> getDirecteurList() { return directeurList; } public void setDirecteurList(List<Directeur> directeurList) { this.directeurList = directeurList; }
contient Directeur.java
Code : Sélectionner tout - Visualiser dans une fenêtre à part import com.geepe.pp.model.db.*;
contient l'interface service
Code : Sélectionner tout - Visualiser dans une fenêtre à part import com.geepe.pp.model.service.IDirecteurService;
En parcourant en peu plus le log d'erreur, il est marqué que la cause mère est
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 javax.faces.FacesException: com.sun.faces.mgbean.ManagedBeanCreationException: Unable to create managed bean directeurBean. The following problems were found: - Bean or property class com.geepe.pp.view.bean.DirecteurBean for managed bean directeurBean cannot be found.
J'ai oublié de fournir le contenu du faces-config.xml que voici :
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 <?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_1_2.xsd" version="1.2"> <application> <el-resolver>org.springframework.web.jsf.el.SpringBeanFacesELResolver</el-resolver> </application> <managed-bean> <managed-bean-name>directeurBean</managed-bean-name> <managed-bean-class>com.geepe.pp.view.bean.DirecteurBean</managed-bean-class> <managed-bean-scope>session</managed-bean-scope> </managed-bean> </faces-config>
Est-ce que DirecteurBean.class est bien dans ton war ?
Pourquoi déclares-tu le bean dans faces-config.xml ? C'est déjà un bean Spring et tu utilises le spring resolver.
yooooouuuuupppiiiiiiiiiiiiiiiii ça marche ! J'avais commis la "grosse" erreur de ne pas écrire les variable id, nom, prenom, ... de la même façon que dans ma classe Directeur.java
Merci encore hasalex. Je vais pouvoir commencer les choses sérieuses !!!
Ton tuto est super et bien expliqué !!!
Hop, un petit tag RESOLU sur la discussion et ce sera clos.
Amuse-toi bien pour la suite.
J'ai un autre souci hasalex et j'espère que tu pourras m'aider.
méthode init()
c'est la méthode d'initialisation. getSitelist() contient la liste des sites, donc le combo doit être chargé de cette liste.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 public void init(){ getSitelist(); getBatiment_list(); if(!(batiment_list.isEmpty())){ batiment_list = (List) getBatiment_list(); batiment = (Batiment) batiment_list.get(index); chargercomboBat(); chargercomboSite(); } }
getBatiment_list() : la liste des batiments. (un site à plusieurs bâtiments)
ensuite methode getSitelist()
Je veux qu'au chargement de ma page. j'ai un combo qui affiche la liste des sites et la premier value de la liste s'affiche par défaut.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 public Hashtable getSitelist() { site_list.clear(); sitelist.clear(); List l = this.siteService.findAll(); for(Iterator it = l.iterator(); it.hasNext();){ Site sit = (Site) l.get(l.indexOf(it.next())); site_list.add(sit.getLibelle()); sitelist.put(sit.getLibelle(), sit); } return sitelist; }
le second combo doit contenir la liste des batiments qu'on retrouve dans le site sélectionné.
Mais au chargement de ma page j'ai l'erreur suivante :
l'erreur semble venir de la fonction init() qui elle n'arrive pas à exécuter la fonction getSiteList(); j'ai testé plusieurs options, mais je ne vois pas où est le problème !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'batimentBean': Invocation of init method failed; nested exception is java.lang.NullPointerException com.ge.pp.view.bean.BatimentBean.getSitelist(BatimentBean.java:222) com.ge.pp.view.bean.BatimentBean.init(BatimentBean.java:77)
Quelqu'un pourrait-il m'aider?
Il me met une exception java ici
d'où la raison pour laquelle il n'arrive pas à exécuter la méthode.
Code : Sélectionner tout - Visualiser dans une fenêtre à part List l = this.siteService.findAll();
Alors, quelqu'un peut-il m'aider please ?
Ben c'est sûr qu'il n'y a personne pour m'aider
ma page JSF ne s'ffiche pas l'erreur donnée est Etat Http 404 alors que mon serveur marche trés bien les tests sur Spring aussi SVP aidez moi c' trés urgent
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager