Bonjour, je suis en train de développer une appli avec Struts 1 et Hibernate
J'ai un problème de Null Pointer Exception dans mon action. J'ai utilisé Hibernate Synchronizer pour créer les fichiers de mapping etc
mon arborescence est
+ src
+ action
+ business (créer par Synchronizer : constructeur des beans comme Utilisateurs)
+ business.base (suite des beans avec setters et getters)
+ business.dao
+ form
+ metier
et au niveau de src les fichiers de mapping hbm et le hibernate.cfg.xml
voici le code
Interface DAO (la fonction save car c'est elle qui m'interesse)
DAO
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 public interface IBaseUtilisateursDAO { public UtilisateursDAO getInstance (); public java.lang.Integer save(business.Utilisateurs utilisateurs) throws net.sf.hibernate.HibernateException;
Interface Metier
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 public abstract class BaseUtilisateursDAO extends business.dao._RootDAO implements IBaseUtilisateursDAO{ public static UtilisateursDAO instance; public UtilisateursDAO getInstance () { if (null == instance) instance = new UtilisateursDAO(); return instance; } public java.lang.Integer save(business.Utilisateurs utilisateurs) throws net.sf.hibernate.HibernateException { return (java.lang.Integer) super.save(utilisateurs); }
Metier
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 public interface IBaseUtilisateursBusiness { public UtilisateursDAO getInstance (); public java.lang.Integer save(business.Utilisateurs utilisateur) throws net.sf.hibernate.HibernateException;
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 public class BaseUtilisateursBusiness implements IBaseUtilisateursBusiness{ IBaseUtilisateursDAO ibaseutilisateurdao; public UtilisateursDAO getInstance () { return ibaseutilisateurdao.getInstance(); } public java.lang.Integer save(business.Utilisateurs utilisateurs) throws net.sf.hibernate.HibernateException { return ibaseutilisateurdao.save(utilisateurs); }
L'erreur se fait au niveau du ibaseutilisateurbusiness.save(utilisateur);
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 public class ValidateNewUserAction extends Action{ IBaseUtilisateursBusiness ibaseutilisateurbusiness; public ActionForward execute( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception{ NewUserForm newuserForm = (NewUserForm) form; Utilisateurs utilisateur = new Utilisateurs(); utilisateur.setNomUtilisateur(newuserForm.getNom()); utilisateur.setPrenomUtilisateur(newuserForm.getPrenom()); utilisateur.setEmailUtilisateur(newuserForm.getEmail()); utilisateur.setLoginUtilisateur(newuserForm.getLogin()); utilisateur.setMotdepasseUtilisateur(newuserForm.getPassword()); ibaseutilisateurbusiness = new BaseUtilisateursBusiness(); ibaseutilisateurbusiness.save(utilisateur); return mapping.findForward("success"); } }
J'ai vérifié le bean utilisateur est bien rempli avec les différents champs de la JSP mais impossible de sauvegarder dans la base.
Partager