merci pour vos conseils et vos aides, vous trouvez tout le code de ma servlet Clients dans la pièce jointe .
merci pour vos conseils et vos aides, vous trouvez tout le code de ma servlet Clients dans la pièce jointe .
merci pour vos conseils et vos aides, vous trouvez tout le code de ma servlet Clients dans la pièce jointe .
pour me page jsp new voici le code:
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
47 <%@ include file="/WEB-INF/inc/top_header.jsp"%> <body> <div id="page"><%@ include file="/WEB-INF/inc/menu.jsp"%> <div id="content"><%@ include file="/WEB-INF/inc/header.jsp"%> <div id="main"> <h1>Nouveau Patient</h1> <% if (request.getAttribute("error_messages") != null) { for (String mess : ((List<String>) request .getAttribute("error_messages"))) { %> <p style="background-color: red; padding: 5px;"><B><I><FONT COLOR="#0000FF"><%=mess%></FONT></I></B></p> <% } %> <% } %> <form action="<%=reqUrl%>/clients?" method="post"><input type="hidden" name="op" value="new" /> <p><label for="nom">Nom </label><br /> <input type="text" name="nom"></input></p> <p><label for="prenom">Prenom </label><br /> <input type="text" name="prenom"></input></p> <p><label for="adresse">Adresse </label><br /> <input type="text" name="adresse"></input></p> <p><label for="telephone">Telephone </label><br /> <input type="text" name="telephone"></input></p> <p><label for="raison_sociale">Clinique </label><br /> <input type="text" name="raison_sociale"></input></p> <p><label for="nom_mededin">Chirurgien </label><br /> <input type="text" name="nom_mededin"></input></p> <p><label for="beneficiare">Beneficiare </label><br /> <input type="text" name="beneficiare"></input></p> <p><label for="date_operation">Date Operation <em style="font-size: 10px;">format(yyyy-mm-dd)</em></label><br /> <input type="text" name="date_operation"></input></p> <p><label for="date_accident">Date Accident <em style="font-size: 10px;">format(yyyy-mm-dd)</em></label><br /> <input type="text" name="date_accident"></input></p> <p><input type="submit"></input><input type="reset"></input></p> </form> </div> </div> </div> </body> <%@ include file="/WEB-INF/inc/footer.jsp"%>
Il faut déplacer le code suivant
Premièrement dans la JSP le forumlaire est en POST donc il faut mettre le code dans la méthode doPost
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 List<String> listError = new ArrayList<String>(); String nom = request.getParameter("nom"); if (null == nom ||"".equals(nom)){ listError.add("Veuillez renseigner le nom"); } if (listError.size()>0){ request.setAttribute("error_messages",listError);
Deuxièmement : il faut déplacer le code tel quel
J'ai encore juste une remarque j'espère que je vais réussir à te faire appliquer certaines choses qui vont te faire progresser :-) )
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72 if (action.equals("new")) { // Client client = new Client(); getServletContext().getRequestDispatcher("/jsp/clients/new.jsp").forward(request,response); return; } else List<String> listError = new ArrayList<String>(); String nom = request.getParameter("nom"); if (null == nom ||"".equals(nom)){ listError.add("Veuillez renseigner le nom"); } if (listError.size()>0){ request.setAttribute("error_messages",listError); getServletContext().getRequestDispatcher("/jsp/clients/new.jsp").forward(request,response); return; try { client.setNom(request.getParameter("nom")); client.setPrenom(request.getParameter("prenom")); client.setAdresse(request.getParameter("adresse")); client.setTelephone(request.getParameter("telephone")); client.setRaison_sociale(request .getParameter("raison_sociale")); client.setNom_mededin(request.getParameter("nom_mededin")); client.setBeneficiare(request.getParameter("beneficiare")); String dateStr = (String) (request .getParameter("date_accident")); String dateStr1 = (String) (request .getParameter("date_operation")); String sFormat = "yyyy-mm-dd"; SimpleDateFormat sdf = new SimpleDateFormat(sFormat); try { java.util.Date d = (java.util.Date) sdf.parse(dateStr); java.util.Date d1 = (java.util.Date) sdf .parse(dateStr1); client.setDate_accident(d); client.setDate_operation(d1); } catch (ParseException e) { e.printStackTrace(); } client.setDate_creation(Calendar.getInstance().getTime()); client.setDate_mise_jour(Calendar.getInstance().getTime()); sessionDb.save(client); sessionDb.flush(); sessionDb.connection().commit(); sessionDb.close(); response.sendRedirect("clients?op=index&id=" + client.getId()); } catch (HibernateException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } }
J'ai pris le temps de lire la servlet et voici ce que je vois:
Les deux codes suivants se ressemblent beaucoup
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Client client = (Client) sessionDb .load(Client.class, id_client);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 q = sessionDb.createQuery("from Client C where C.id =" + id);
le code ci dessus a été vu deux fois
Est-ce que tu ne pense pas que si tu avais mis ce code une seule fois dans une classe DAO ton code aurait été plus claire à lire, à maintenir etc ... ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Query q = sessionDb.createQuery("from Client C");
je suis convaincu que si ...
En plus si tu utilises un IDE je suis sûr que tu peux le faire très rapidement en faisant du refactor
merci infiniment j'ai mis ce que vous m'avez dit dans doPost voici le code
mais j'ai un erreur vous le trouver ci-joint . désolé pour le dérangement j'ai pas utilisé le DAO parce ce que c'est mon cadre qui m'oblige de travailler avec cette méthode.
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68 } else if (action.equals("new")) { // new client Client client = new Client(); getServletContext().getRequestDispatcher("/jsp/clients/new.jsp").forward(request,response); return; }else { List<String> listError = new ArrayList<String>(); String nom = request.getParameter("nom"); if (null == nom ||"".equals(nom)){ listError.add("Veuillez renseigner le nom"); } if (listError.size()>0){ request.setAttribute("error_messages",listError); getServletContext().getRequestDispatcher("/jsp/clients/new.jsp").forward(request,response); return; try { client.setNom(request.getParameter("nom")); client.setPrenom(request.getParameter("prenom")); client.setAdresse(request.getParameter("adresse")); client.setTelephone(request.getParameter("telephone")); client.setRaison_sociale(request .getParameter("raison_sociale")); client.setNom_mededin(request.getParameter("nom_mededin")); client.setBeneficiare(request.getParameter("beneficiare")); String dateStr = (String) (request .getParameter("date_accident")); String dateStr1 = (String) (request .getParameter("date_operation")); String sFormat = "yyyy-mm-dd"; SimpleDateFormat sdf = new SimpleDateFormat(sFormat); try { java.util.Date d = (java.util.Date) sdf.parse(dateStr); java.util.Date d1 = (java.util.Date) sdf .parse(dateStr1); client.setDate_accident(d); client.setDate_operation(d1); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } client.setDate_creation(Calendar.getInstance().getTime()); client.setDate_mise_jour(Calendar.getInstance().getTime()); sessionDb.save(client); sessionDb.flush(); sessionDb.connection().commit(); sessionDb.close(); response.sendRedirect("clients?op=index&id=" + client.getId()); } catch (HibernateException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } // response.sendRedirect("clients?op=edit&id="+client.getId()); } }
Il faut juste déplacer le constructeur de Client dans le else
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69 } else if (action.equals("new")) { // new client Client client = new Client(); getServletContext().getRequestDispatcher("/jsp/clients/new.jsp").forward(request,response); return; }else { Client client = new Client(); List<String> listError = new ArrayList<String>(); String nom = request.getParameter("nom"); if (null == nom ||"".equals(nom)){ listError.add("Veuillez renseigner le nom"); } if (listError.size()>0){ request.setAttribute("error_messages",listError); getServletContext().getRequestDispatcher("/jsp/clients/new.jsp").forward(request,response); return; try { client.setNom(request.getParameter("nom")); client.setPrenom(request.getParameter("prenom")); client.setAdresse(request.getParameter("adresse")); client.setTelephone(request.getParameter("telephone")); client.setRaison_sociale(request .getParameter("raison_sociale")); client.setNom_mededin(request.getParameter("nom_mededin")); client.setBeneficiare(request.getParameter("beneficiare")); String dateStr = (String) (request .getParameter("date_accident")); String dateStr1 = (String) (request .getParameter("date_operation")); String sFormat = "yyyy-mm-dd"; SimpleDateFormat sdf = new SimpleDateFormat(sFormat); try { java.util.Date d = (java.util.Date) sdf.parse(dateStr); java.util.Date d1 = (java.util.Date) sdf .parse(dateStr1); client.setDate_accident(d); client.setDate_operation(d1); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } client.setDate_creation(Calendar.getInstance().getTime()); client.setDate_mise_jour(Calendar.getInstance().getTime()); sessionDb.save(client); sessionDb.flush(); sessionDb.connection().commit(); sessionDb.close(); response.sendRedirect("clients?op=index&id=" + client.getId()); } catch (HibernateException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } // response.sendRedirect("clients?op=edit&id="+client.getId()); } }
merci voici le code que j'ai fais :
c'est ce que vous m'avez dit?mais j'ai un erreur.
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67 } else if (action.equals("new")) { // new client Client client = new Client(); getServletContext().getRequestDispatcher("/jsp/clients/new.jsp").forward(request,response); return; }else { Client client = new Client(); List<String> listError = new ArrayList<String>(); String nom = request.getParameter("nom"); if (null == nom ||"".equals(nom)){ listError.add("Veuillez renseigner le nom"); } if (listError.size()>0){ request.setAttribute("error_messages",listError); getServletContext().getRequestDispatcher("/jsp/clients/new.jsp").forward(request,response); return; try { client.setNom(request.getParameter("nom")); client.setPrenom(request.getParameter("prenom")); client.setAdresse(request.getParameter("adresse")); client.setTelephone(request.getParameter("telephone")); client.setRaison_sociale(request .getParameter("raison_sociale")); client.setNom_mededin(request.getParameter("nom_mededin")); client.setBeneficiare(request.getParameter("beneficiare")); String dateStr = (String) (request .getParameter("date_accident")); String dateStr1 = (String) (request .getParameter("date_operation")); String sFormat = "yyyy-mm-dd"; SimpleDateFormat sdf = new SimpleDateFormat(sFormat); try { java.util.Date d = (java.util.Date) sdf.parse(dateStr); java.util.Date d1 = (java.util.Date) sdf .parse(dateStr1); client.setDate_accident(d); client.setDate_operation(d1); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } client.setDate_creation(Calendar.getInstance().getTime()); client.setDate_mise_jour(Calendar.getInstance().getTime()); sessionDb.save(client); sessionDb.flush(); sessionDb.connection().commit(); sessionDb.close(); response.sendRedirect("clients?op=index&id=" + client.getId()); } catch (HibernateException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } // response.sendRedirect("clients?op=edit&id="+client.getId()); } }
j'ai l'impression qu'il manque une accolade fermante après
mais bon là il faut chercher un peu ça doit pas être difficile
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 if (listError.size()>0){ request.setAttribute("error_messages",listError); getServletContext().getRequestDispatcher("/jsp/clients/new.jsp").forward(request,response); return; } //etc
merci infiniment mais j'ai un problème quand je clique sur ajouter quelque soit le champ(rempli ou vide) je redirige vers une page vide et dans ma console j'ai cette erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part java.lang.NumberFormatException: For input string: ""
la vérité je ne comprend pas pourquoi il faut mettre ce else apres.
Code : Sélectionner tout - Visualiser dans une fenêtre à part else if (action.equals("new"))
parce que si je rempli le champ ou bien je le laisser vide je redirige vers la même page new et aucun message s'affiche .
J'ai résolu mon problème,il me manque comment je peux faire pour valider un champ si il est integer. merci pour vos aide
pour l'integer comme pour les formats particuliers regarde du côté des expressions régulières
merci ISMA de vos aide j'ai chercher dans le net mais la vérité je ne sais pas comment je peux débuter j'ai trouvé ce lien
http://www.regextester.com/
pourriez vous m'aider?merci
il faut regarder du côté de la javadoc et sur le site de oracle
tout est expliqué dans les tutoriels
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