Précédent   Forum du club des développeurs et IT Pro > Java > Communauté Java
Communauté Java Suivez l'actualité et contribuez à la vie de la communauté francophone Java
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Actualité déjà publiée
 
Outils de la discussion
Publicité
'
Vieux 09/11/2009, 00h13   #21
regis1512
Rédacteur
 
Avatar de regis1512
 
Homme Régis POUILLER
Chef de projet NTIC
Inscription : mai 2008
Messages : 295
Détails du profil
Informations personnelles :
Nom : Homme Régis POUILLER
Âge : 36
Localisation : France, Haute Vienne (Limousin)

Informations professionnelles :
Activité : Chef de projet NTIC
Secteur : Industrie

Informations forums :
Inscription : mai 2008
Messages : 295
Points : 1 144
Points : 1 144
Bonsoir,

Dans le squelette ou templage ("page.jsp" dans l'exemple) tu as le "<tiles:insert attribute="principal" />". A cet endroit, tu ne connais pas le contenu inséré. C'est d'ailleurs tout l'intérêt.

C'est dans le tiles-defs.xml que c'est indiqué, pour chaque définition de page.
Par exemple pour la définition de la page d'affichage (la première), ca sera /pages/listeCourses.jsp qui sera inséré à la place de "<tiles:insert attribute="principal" />"
Cette définition est appelé lors du forward succes qui est indiqué dans le fichier struts-config.

Info annexe, pour que cela fonctionne il faut que le plug-in de tiles soit déclaré dans la configuration struts avec le fichier tiles-defs.xml dont nous venons de parler.

En espérant t'avoir apporter une réponse.
Bon courage.
__________________
Pourquoi cet avatar ? Parce que j'aime bien le tableau "Le Fils de l'homme" de Magritte.
Mes contributions sur developpez.com
regis1512 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/11/2009, 09h49   #22
rcmd
Invité de passage
 
Inscription : avril 2006
Messages : 4
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 4
Points : 3
Points : 3
Par défaut Tiles

Merci bcp,
c'est clair maintenant.
rcmd est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/09/2010, 06h04   #23
Pres'
Invité régulier
 
Inscription : mars 2003
Messages : 7
Détails du profil
Informations personnelles :
Âge : 41
Localisation : France, Seine Maritime (Haute Normandie)

Informations forums :
Inscription : mars 2003
Messages : 7
Points : 9
Points : 9
Par défaut html:errors

Bonjour,

Je me mets a Java/Struts. Super tuto, merci !

J'ai un seul probleme pas vraiment bloquant mais pour lequel je n'arrive pas a trouver d'info sur le net (ou je cherche mal, mais pourtant Google est mon bon ami tres tres souvent).

Mon probleme est le suivant : les erreurs ne sortent pas sur le fichier erreur.jsp, par contre elles apparaissent dans la console.

Niveau config j'ai eclipse tel que prévu dans l'exercice. Tomcat 6.0.29. Enfin l'erreur sort bien, en tracant je la vois remoter jusqu'a la classe [...]Action, la redirection sur la page erreur fonctionne. C'est juste que le tag html:errors n'affiche rien et que l'erreur apparait dans la console.

Est-ce lié à Eclipse qui capture l'erreur entre deux ou ai-je manquer un parametrage au niveau du projet ou de Eclipse meme ?
Je precise que j'ai relancer Eclipse, le probleme persiste.
Pres' est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/09/2010, 07h45   #24
regis1512
Rédacteur
 
Avatar de regis1512
 
Homme Régis POUILLER
Chef de projet NTIC
Inscription : mai 2008
Messages : 295
Détails du profil
Informations personnelles :
Nom : Homme Régis POUILLER
Âge : 36
Localisation : France, Haute Vienne (Limousin)

Informations professionnelles :
Activité : Chef de projet NTIC
Secteur : Industrie

Informations forums :
Inscription : mai 2008
Messages : 295
Points : 1 144
Points : 1 144
Bonjour,

Déjà, merci pour l'appréciation.

Il faut bien faire attention. La remontée d'erreurs n'est pas du tout automatique. Il y a plusieurs points à vérifier :
- Il faut que l'Exception soit catchée comme dans la classe "ListeCoursesDAO". Si une erreur n'est pas catchée, elle se propagera est n'apparaitra que dans la console (Struts ne la mettra pas de lui même dans les erreurs pour la page).
- Il faut que cette exception catchée soit ajoutée au erreur comme dans la classe ''AfficherListeCoursesAction', en faisant bien attention de n'oublier aucune des lignes (le saveErrors par exemple que j'ai déjà vu passer à la trappe de nombreuses fois, )

Bon courage.
__________________
Pourquoi cet avatar ? Parce que j'aime bien le tableau "Le Fils de l'homme" de Magritte.
Mes contributions sur developpez.com
regis1512 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/09/2010, 08h27   #25
Pres'
Invité régulier
 
Inscription : mars 2003
Messages : 7
Détails du profil
Informations personnelles :
Âge : 41
Localisation : France, Seine Maritime (Haute Normandie)

Informations forums :
Inscription : mars 2003
Messages : 7
Points : 9
Points : 9
Merci pour cette reponse matinale.

Aux noms de classes près, j'ai reproduit le code à l'identique. Meme mieux : les erreurs sont tellement bien catchées qu'en fait pour etre sur, j'ai catché au niveau "Exception" (donc toute, absolument toutes).

Quand je trace au niveau de la classe [...]Action, j'ai bien mon objet [...]Dao avec l'erreur dedans, la redirection se fait bien sur la page erreur.jsp mais... le message n'apparait pas.
Il apparait en revanche bien dans la console.

En fait je suis newbie sur struts, mais je connais assez bien java.
C'est peut etre au niveau de mes config tomcat que j'ai raté un truc, d'autant que depuis mon dernier message, j'ai tout cassé en essayant de déclarer ma ressource MySQL correctement.

Je vais tout reprendre depuis le debut.
Aaah monde cruel !
Pres' est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/09/2010, 17h17   #26
regis1512
Rédacteur
 
Avatar de regis1512
 
Homme Régis POUILLER
Chef de projet NTIC
Inscription : mai 2008
Messages : 295
Détails du profil
Informations personnelles :
Nom : Homme Régis POUILLER
Âge : 36
Localisation : France, Haute Vienne (Limousin)

Informations professionnelles :
Activité : Chef de projet NTIC
Secteur : Industrie

Informations forums :
Inscription : mai 2008
Messages : 295
Points : 1 144
Points : 1 144
Bonjour,

Je pense que ton problème provient
- soit de ce qui est dans le struts-config.xml avec une erreur sur le <forward name="erreur" path="/pages/erreur.jsp" />.
- soit l'action ne retourne pas le return pMapping.findForward("erreur");

Bon courage.
__________________
Pourquoi cet avatar ? Parce que j'aime bien le tableau "Le Fils de l'homme" de Magritte.
Mes contributions sur developpez.com
regis1512 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/09/2010, 04h14   #27
Pres'
Invité régulier
 
Inscription : mars 2003
Messages : 7
Détails du profil
Informations personnelles :
Âge : 41
Localisation : France, Seine Maritime (Haute Normandie)

Informations forums :
Inscription : mars 2003
Messages : 7
Points : 9
Points : 9
Aaaarg ! J'en ai mis du temps a comprendre...

Donc rien de tout ca en fait. Le code était correct même adapté à mes besoins.

Je bosse en presta pour une boite avec la consigne d'utiliser les mêmes versions de librairies que celles déjà utilisées.
Et la version Struts est la 1.2.6... apres une petite mise a jour vers la version 1.3.10 (la 1.x la plus récente donc) : CA MARCHE !
D'ailleurs la version 1.2.6 n'est meme plus disponible sur le site apache...

Merci de ton aide et pour le tutorial
Pres' est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2011, 21h59   #28
chrisjames
Invité de passage
 
Inscription : février 2009
Messages : 7
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 7
Points : 2
Points : 2
Par défaut Installation hsqldb

Bonjour,
je viens de commencer votre tuto, mais je suis bloqué à la deuxième partie pour l'installation de hsqldb. sinon j'aimerai bien savoir comment vous vous etez pris pour le faire. je suis sous Windows 7 et j'utilise les mêmes versions de logiciel.
Merci
chrisjames est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2011, 11h25   #29
regis1512
Rédacteur
 
Avatar de regis1512
 
Homme Régis POUILLER
Chef de projet NTIC
Inscription : mai 2008
Messages : 295
Détails du profil
Informations personnelles :
Nom : Homme Régis POUILLER
Âge : 36
Localisation : France, Haute Vienne (Limousin)

Informations professionnelles :
Activité : Chef de projet NTIC
Secteur : Industrie

Informations forums :
Inscription : mai 2008
Messages : 295
Points : 1 144
Points : 1 144
Bonjour,

J'aurais besoin de plus de détails sur le blocage (ce qui est impossible à faire, message d'erreur, etc...).
Sinon, j'ai réalisé le tutoriel tout simplement en installant les différents éléments et effectuant les opérations dans l'ordre indiqué.

Bonne journée.
__________________
Pourquoi cet avatar ? Parce que j'aime bien le tableau "Le Fils de l'homme" de Magritte.
Mes contributions sur developpez.com
regis1512 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2011, 22h41   #30
kfanfan
Nouveau Membre du Club
 
Homme
Développeur Java
Inscription : juillet 2011
Messages : 22
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur Java

Informations forums :
Inscription : juillet 2011
Messages : 22
Points : 28
Points : 28
Hello Regis, je t'ai déjà envoyé un MP pour demander une aide concernant mon problème, mais j'écris également en public, ça pourra peut etre aider qqn plus tard...
Au niveau de la modification, lorsque je lance :
http://localhost:8080/MonApplication...isteCourses.do
J'ai le message d'erreur suivant :
(cause mère)

java.lang.NullPointerException
org.apache.struts.config.FormBeanConfig.createActionForm(FormBeanConfig.java:289)
org.apache.struts.config.FormBeanConfig.createActionForm(FormBeanConfig.java:357)
org.apache.struts.chain.commands.CreateActionForm.execute(CreateActionForm.java:92)
org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:305)
org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

Merci de l'aide !!!
kfanfan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2011, 23h38   #31
regis1512
Rédacteur
 
Avatar de regis1512
 
Homme Régis POUILLER
Chef de projet NTIC
Inscription : mai 2008
Messages : 295
Détails du profil
Informations personnelles :
Nom : Homme Régis POUILLER
Âge : 36
Localisation : France, Haute Vienne (Limousin)

Informations professionnelles :
Activité : Chef de projet NTIC
Secteur : Industrie

Informations forums :
Inscription : mai 2008
Messages : 295
Points : 1 144
Points : 1 144
Bonsoir,

Je suis parti de l'hypothèse que tu utilisais la version 1.3.10.

Donc, d'après les sources de cette version, la ligne 289 correspond à l'instanciation du formulaire (ligne 5 ci-dessous) :
Code :
1
2
3
4
5
6
        // Create a new form bean instance
        if (getDynamic()) {
            obj = getDynaActionFormClass().newInstance();
        } else {
            obj = formBeanClass().newInstance();
        }
Et lorsque l'on regarde la méthode formBeanClass() à la toute fin du source :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    protected Class formBeanClass() {
        ClassLoader classLoader =
            Thread.currentThread().getContextClassLoader();
 
        if (classLoader == null) {
            classLoader = this.getClass().getClassLoader();
        }
 
        try {
            return (classLoader.loadClass(getType()));
        } catch (Exception e) {
            return (null);
        }
    }
On remarque que si le chargement de la classe se passe mal et qu'une Exception est levée par loadClass alors la méthode formBeanClass() retourne null d'où le NullPointerException.
L'exception la plus vraisemblable est un ClassNotFoundException.

Conclusion : dans ce cas, cela signifie que le nom de la classe de formulaire dans struts-config-modification.xml ne correspond pas à la classe de formulaire ModificationListeCoursesForm. Il faut également vérifier que la classe existe bien dans WEB-INF/classes/com/developpez/rpouiller/monapplication/.

J'espère que cela t'aura aidé.

Bon courage.
__________________
Pourquoi cet avatar ? Parce que j'aime bien le tableau "Le Fils de l'homme" de Magritte.
Mes contributions sur developpez.com
regis1512 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2011, 23h59   #32
kfanfan
Nouveau Membre du Club
 
Homme
Développeur Java
Inscription : juillet 2011
Messages : 22
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur Java

Informations forums :
Inscription : juillet 2011
Messages : 22
Points : 28
Points : 28
merci Régis,

mon struts-config-modification.xml est le suivant :

<form-beans>
<form-bean name="modificationForm"
type="com.developpez.rpouiller.monapplication.ModificationListeCoursesForm">
<form-property name="listeCourses" type="java.util.List" />
</form-bean>
</form-beans>

la classe est bien écrite, et elle est bien présente dans le package com.developpez.rpouiller.monapplication
du coup je coince toujours ((
kfanfan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/07/2011, 00h10   #33
kfanfan
Nouveau Membre du Club
 
Homme
Développeur Java
Inscription : juillet 2011
Messages : 22
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur Java

Informations forums :
Inscription : juillet 2011
Messages : 22
Points : 28
Points : 28
en outre, en relisant ton msg, je ne comprends pas quand tu dis que :
"la classe existe bien dans WEB-INF/classes/com/developpez/rpouiller/monapplication/"
cette classe doit plutot etre dans le SRC non ?
kfanfan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/07/2011, 00h40   #34
regis1512
Rédacteur
 
Avatar de regis1512
 
Homme Régis POUILLER
Chef de projet NTIC
Inscription : mai 2008
Messages : 295
Détails du profil
Informations personnelles :
Nom : Homme Régis POUILLER
Âge : 36
Localisation : France, Haute Vienne (Limousin)

Informations professionnelles :
Activité : Chef de projet NTIC
Secteur : Industrie

Informations forums :
Inscription : mai 2008
Messages : 295
Points : 1 144
Points : 1 144
En fait, le dossier WEB-INF/classes contient les classes une fois qu'elles sont compilées.
Je te suggère donc de vérifier que la classe compilée se trouve bien où elle doit être (comme toutes les autres classes de l'application).
__________________
Pourquoi cet avatar ? Parce que j'aime bien le tableau "Le Fils de l'homme" de Magritte.
Mes contributions sur developpez.com
regis1512 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/07/2011, 10h36   #35
kfanfan
Nouveau Membre du Club
 
Homme
Développeur Java
Inscription : juillet 2011
Messages : 22
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur Java

Informations forums :
Inscription : juillet 2011
Messages : 22
Points : 28
Points : 28
et comment on fait pour compiler les classes ?
dans le WEB-INF j'ai seulement les lib et les fichiers xml
kfanfan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/07/2011, 10h46   #36
kfanfan
Nouveau Membre du Club
 
Homme
Développeur Java
Inscription : juillet 2011
Messages : 22
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur Java

Informations forums :
Inscription : juillet 2011
Messages : 22
Points : 28
Points : 28
en creusant (encore et encore :p)...
j'ai vu que les classes concernant la modif n'étaient pas compilées dans mon fichier build/classes etc...
du coup la question : comment compiler ces classes ?
merci d'avance
kfanfan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/07/2011, 11h34   #37
regis1512
Rédacteur
 
Avatar de regis1512
 
Homme Régis POUILLER
Chef de projet NTIC
Inscription : mai 2008
Messages : 295
Détails du profil
Informations personnelles :
Nom : Homme Régis POUILLER
Âge : 36
Localisation : France, Haute Vienne (Limousin)

Informations professionnelles :
Activité : Chef de projet NTIC
Secteur : Industrie

Informations forums :
Inscription : mai 2008
Messages : 295
Points : 1 144
Points : 1 144
Bonjour,

Les points de vérification auxquels je pense sont :
- Vérifier que le source de la classe est bien dans le même dossier (ou dossier parent s'il s'agit d'un package différent) qu'un autre source qui compile
- Vérifier que Eclipse est bien en compilation automatique (En Anglais : Project > Build Automatically)
- Vérifier qu'il n'y a pas de problèmes de compilation. Il faut afficher la vue "Problems" (Window > Show View > Problems)

Bon courage.
__________________
Pourquoi cet avatar ? Parce que j'aime bien le tableau "Le Fils de l'homme" de Magritte.
Mes contributions sur developpez.com
regis1512 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/07/2011, 12h06   #38
kfanfan
Nouveau Membre du Club
 
Homme
Développeur Java
Inscription : juillet 2011
Messages : 22
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur Java

Informations forums :
Inscription : juillet 2011
Messages : 22
Points : 28
Points : 28
ayé j'ai trouvé !!
je pense que le commons collections n'était pas dans les libraries de java resources src... c'est pour ça que ça bugguait, qu'en penses tu ?
kfanfan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/07/2011, 13h33   #39
regis1512
Rédacteur
 
Avatar de regis1512
 
Homme Régis POUILLER
Chef de projet NTIC
Inscription : mai 2008
Messages : 295
Détails du profil
Informations personnelles :
Nom : Homme Régis POUILLER
Âge : 36
Localisation : France, Haute Vienne (Limousin)

Informations professionnelles :
Activité : Chef de projet NTIC
Secteur : Industrie

Informations forums :
Inscription : mai 2008
Messages : 295
Points : 1 144
Points : 1 144
En effet, si tu as une librairie qui manque ca doit poser problème (tu devrais avoir des imports dans le source qui passe en erreur).
Le plus simple est qu'elle soit dans le WEB-INF/lib et de bien avoir dans la librairie "Web App Libraries" ajoutée (Properties du projet > Java Build Path > Libraries).

Bon courage.
__________________
Pourquoi cet avatar ? Parce que j'aime bien le tableau "Le Fils de l'homme" de Magritte.
Mes contributions sur developpez.com
regis1512 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/07/2011, 14h43   #40
kfanfan
Nouveau Membre du Club
 
Homme
Développeur Java
Inscription : juillet 2011
Messages : 22
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur Java

Informations forums :
Inscription : juillet 2011
Messages : 22
Points : 28
Points : 28
autre chose, ce matin, j'avais un "!" sur mon projet
ce que j'ai fait, c'est que lorsque j'ai téléchargé les lib en .jar et qui étaient tous en .zip, je les ai sauvegardées dans une clé usb, et j'ai tjs travaillé depuis une clé usb...
les fichiers décompressés, ils sont à sauvegarder même si on les a copiés collés dans le dossier lib de WEBCONTENT/WEB-INF ?
kfanfan est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Actualité déjà publiée
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 08h18.


 
 
 
 
Partenaires

Hébergement Web