IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Servlets/JSP Java Discussion :

Tester un attribut servlet


Sujet :

Servlets/JSP Java

  1. #21
    Nouveau membre du Club
    Inscrit en
    Janvier 2011
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 114
    Points : 30
    Points
    30
    Par défaut
    merci pour vos conseils et vos aides, vous trouvez tout le code de ma servlet Clients dans la pièce jointe .

  2. #22
    Nouveau membre du Club
    Inscrit en
    Janvier 2011
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 114
    Points : 30
    Points
    30
    Par défaut
    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"%>

  3. #23
    Membre éprouvé Avatar de noOneIsInnocent
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 037
    Points : 1 161
    Points
    1 161
    Par défaut
    Il faut déplacer le code suivant

    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);
    Premièrement dans la JSP le forumlaire est en POST donc il faut mettre le code dans la méthode doPost

    Deuxièmement : il faut déplacer le code tel quel

    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 encore juste une remarque j'espère que je vais réussir à te faire appliquer certaines choses qui vont te faire progresser :-) )

    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Query q = sessionDb.createQuery("from Client C");
    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 ... ?

    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

  4. #24
    Nouveau membre du Club
    Inscrit en
    Janvier 2011
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 114
    Points : 30
    Points
    30
    Par défaut
    merci infiniment j'ai mis ce que vous m'avez dit dans doPost 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
    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());
     
    		}
    			}
    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.

  5. #25
    Membre éprouvé Avatar de noOneIsInnocent
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 037
    Points : 1 161
    Points
    1 161
    Par défaut
    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());
     
            }
                }

  6. #26
    Nouveau membre du Club
    Inscrit en
    Janvier 2011
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 114
    Points : 30
    Points
    30
    Par défaut
    merci voici le code que j'ai fais :

    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());
     
    		}
    			}
    c'est ce que vous m'avez dit?mais j'ai un erreur.

  7. #27
    Membre éprouvé Avatar de noOneIsInnocent
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 037
    Points : 1 161
    Points
    1 161
    Par défaut
    j'ai l'impression qu'il manque une accolade fermante après
    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
    mais bon là il faut chercher un peu ça doit pas être difficile

  8. #28
    Nouveau membre du Club
    Inscrit en
    Janvier 2011
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 114
    Points : 30
    Points
    30
    Par défaut
    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: ""

  9. #29
    Nouveau membre du Club
    Inscrit en
    Janvier 2011
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 114
    Points : 30
    Points
    30
    Par défaut
    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 .

  10. #30
    Nouveau membre du Club
    Inscrit en
    Janvier 2011
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 114
    Points : 30
    Points
    30
    Par défaut
    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

  11. #31
    Membre éprouvé Avatar de noOneIsInnocent
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 037
    Points : 1 161
    Points
    1 161
    Par défaut
    pour l'integer comme pour les formats particuliers regarde du côté des expressions régulières

  12. #32
    Nouveau membre du Club
    Inscrit en
    Janvier 2011
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 114
    Points : 30
    Points
    30
    Par défaut
    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

  13. #33
    Membre éprouvé Avatar de noOneIsInnocent
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 037
    Points : 1 161
    Points
    1 161
    Par défaut
    il faut regarder du côté de la javadoc et sur le site de oracle
    tout est expliqué dans les tutoriels

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [XSLT 1.0] Comment tester un attribut dans un for-each?
    Par CBresso dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 23/09/2011, 16h58
  2. [AC-2003] Tester les attributs d'une relation ?
    Par marot_r dans le forum VBA Access
    Réponses: 2
    Dernier message: 30/03/2010, 22h01
  3. Tester existence Attribut xml
    Par inspecteur rick dans le forum Débuter
    Réponses: 2
    Dernier message: 23/12/2009, 15h43
  4. tester les attributs
    Par bubu87 dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 03/07/2009, 15h30
  5. Tester un attribut ou methode cross-browser
    Par andry.aime dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 26/03/2009, 09h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo