Bonjour à tous,
Voila, je travaille actuellement sur un projet d'entreprise qui doit servir à la gestion des clients et de leurs commande.
J'ai décidé de travailler avec struts et hibernate.
Pour commencer, j'ai développer la couche métier et le mapping avec hibernate.
Jusque là, tout se passe bien.
Maintenant je doit afficher les information avec Struts.
Voila comment j'ai procéder. Je vais prendre un exemple d'ajout du client
Classe Client
Je veux donc créer une page jsp qui va contiendra un formulaire et stocker les information sur la bdd.
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 public class Client { //*********************** Attributes**************************// private Long id; private String numClient; private String nomSociete; private SecteurActivite activite; private String registreCommerce; private SegmentL1 segmentL1; private SegmentL2 segmentL2; private String patente; private String telecopie; private String siteWeb; private boolean status=true; private String loginExtranet; private boolean partenaire; private int nbCommercial; private EmailAdresse email; private Adresse adresse; private Telephone telephone; private Set<Site> sites= new HashSet<Site>(); private Set<Compte> comptes= new HashSet<Compte>(); private Set<Contact> contacts= new HashSet<Contact>(); private Date created= new Date(); //+ getters et setter et les constructeur
J'ai dans Ma classe GestMetier deux méthodes qui me permettent d'ajouter un client
Dans mon FormBean que j'appelle ClientForm je met
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 void addClient(Client client){ Session session=HibernateUtil.sessionFactory.getCurrentSession(); session.beginTransaction(); session.save(client); session.getTransaction().commit(); } public Client addClient(String numClient, String nomSociete, String registreCommerce, String patente, String telecopie, String siteWeb, String loginExtranet, boolean partenaire, int nbCommercial, EmailAdresse email, Adresse adresse, Telephone telephone){ .............. }
Dans mon ActionForm que j'ai nommé ClientAction je met
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 public class ClientForm extends ActionForm{ private Long id=new Long(1); private String numClient=""; private String nomSociete=""; private String registreCommerce=""; private String patente=""; private String telecopie=""; private String siteWeb=""; private boolean status=true; private String loginExtranet=""; private boolean partenaire=false; private int nbCommercial=0; private EmailAdresse email= new EmailAdresse(); private Adresse adresse= new Adresse(); private Telephone telephone= new Telephone();
Je configure mon fichier struts-config.xml et web.xml
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 public class ClientAction extends Action{ public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { ClientForm clientForm = (ClientForm) form; Client client= new Client(); client.setNumClient(clientForm.getNumClient()); client.setNomSociete(clientForm.getNomSociete()); client.setRegistreCommerce(clientForm.getRegistreCommerce()); client.setPatente(clientForm.getPatente()); client.setTelecopie(clientForm.getTelecopie()); client.setSiteWeb(clientForm.getSiteWeb()); try{ Session session = HibernateUtil.getSessionFactory().getCurrentSession(); session.beginTransaction(); GestMetier gm= new GestMetier(); gm.addClient(client); session.getTransaction().commit(); }catch (Exception e) { HibernateUtil.getSessionFactory().close(); String resultat = "echec"; } return mapping.findForward("client"); } }
et je crée la page jsp Client.jsp
Remarque j'ai pas mis tout les champs vu que je suis juste entrain de tester
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 <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Formulaire Client</title> </head> <body> <hr> <h1> Profil Client </h1> <html:form action="client.do" name="clientForm" type="org.wana.struts.ClientForm"> <fieldset id="societe"> <legend>Informations sur la Société</legend> <p> <label for="edtNumClient" accesskey="N"> Numéros Client</label> <html:text name="clientForm" property="numClient"></html:text> <p> <p> <label for="edtSociete" accesskey="S"> Nom Société</label> <html:text name="clientForm" property="nomSociete"></html:text> <p> <p> <label for="edtRegistreCommerce" accesskey="R"> Registre de commerce</label> <html:text name="clientForm" property="registreCommerce"></html:text> <p> <p> <label for="edtPatente" accesskey="P"> Patente</label> <html:text name="clientForm" property="patente"></html:text> <p> <p> <label for="edtPartenaire" accesskey="K"> Partenaire</label> <html:radio name="clientForm" property="partenaire" value="true">Oui</html:radio> <html:radio name="clientForm" property="partenaire" value="false">Non</html:radio> <p> </fieldset> <html:submit value="ajouter" ></html:submit> </html:form> </body> </html>
Aprés tous ceci, rien ne marche. je pense que le problème se situe au niveau de l'ActionForm mais je ne vois pas comment le résoudre.
Merçi de bien vouloir m'aider car je suis totalement perdu et je doit rendre une maquette pour demain!!!
Partager