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 :

servlet jsp check


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 isma j'ai mis ce code:

    if(action.equals("check")) {

    Query q = sessionDb.createQuery("from Client C");
    List<Client> clients = q.list() ;
    request.setAttribute("clients", clients);

    Integer id = null;
    try {
    id = Integer.parseInt(request.getParameter("id"));
    }
    catch (NumberFormatException e) {
    // TODO: handle exception
    }


    if(id != null) {
    String hql="select C.nom,C.prenom,C.raison_sociale,C.nom_mededin,C.date_operation,C.date_accident,cc.objet from Client C,CommandeClient cc where C.id=cc.client.id and C.id="+id;
    request.setAttribute("client",(Client)q1.list().get(0));
    /* Query q1= sessionDb.createQuery(hql);
    q1.list();*/
    /*q = sessionDb.createQuery("from Client C where C.id =" + id);
    Client client = (Client)q.uniqueResult() ;
    request.setAttribute("client", client);*/

    }
    gotoPage("/jsp/clients/check.jsp", request, response);
    Ça veut dire quoi q1?

  2. #22
    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
    Essaies s'il te plait d'exprimer ton besoin clairement.
    Je suis désolé mais je ne comprends plus ce que tu cherches à faire ni où tu en es
    Essaies juste de m'expliquer ce que tu veux faire parce que j'avoue que c'est devenu brouillon.
    Si j'ai bien compris, dans la même JSP, tu as une liste de client, un tableau qui affiche les données du patient et une liste de commande associée au même client sélectionné à partir de la liste de patient

    Est-ce que c'est bien ça ?

    si oui voici ce que je te propose en séparant les couches :

    dans une classe ClientDAO

    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
     
    public class ClientDAO {
     
    //tant qu'à faire tu fais en sorte que ta classe soit un singleton
    //si tu veux chercher, il y a plein d'article sur les singleton
    private static ClientDAO instanceDAO = null ;
     
    private  ClientDAO(){
    }
     
     
    public static synchronized ClientDAO getInstance(){
      if (instanceDAO == null){
         instanceDAO = new ClientDAO();
      }
      return instanceDAO ;
     
    }
     
    public static List<Client> findAllClient(){
       Query q = sessionDb.createQuery("from Client C");
       return q.list();
    }
     
     
    public static Client findClientById(Integer idClient){
       String hql="select C.nom,C.prenom,C.raison_sociale,C.nom_mededin,C.date_operation,C.date_accident,cc.objet from Client C,CommandeClient cc where C.id=cc.client.id and C.id="+id;
       Query q = sessionDb.createQuery(hql);
       return (Client)q.list().get(0);
    }
     
     
    }
    dans ta servlet


    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
     
    if(action.equals("check")) {
     
     
    request.setAttribute("clients", ClientDAO.getInstance().findAllClient());
     
    Integer id = null;
    try {
    id = Integer.parseInt(request.getParameter("id"));
    }
    catch (NumberFormatException e) {
    // TODO: METTRE UN LOG pour tracé ce qui s'est passé en cas d'erreur et gérer le cas d'erreur
    }
     
     
    if(id != null) {
    request.setAttribute("clientToDisplay", ClientDAO.getInstance().findClientById(id));
     
    }
    gotoPage("/jsp/clients/check.jsp", request, response)
    dans ta JSP

    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
    73
    74
    75
    76
    77
    78
    79
    80
     
    <%@ include file="/WEB-INF/inc/top_header.jsp"%>
    <img src="Image/banniere.jpg" width="1200" height="150" alt="">
    <head>
    <script type="text/javascript"> 
    <!-- 
    function client(e){ 
    var url = "clients?op=check&id="+e.options[e.selectedIndex].value; 
    document.location.href = url;
     
    } 
    //--> 
    </script>
    </head>
    <body bgcolor="#8FCF3C">
    <div id="page"><%@ include file="/WEB-INF/inc/menu.jsp"%>
    <div id="content">
    <%@ include file="/WEB-INF/inc/header.jsp"%>
    <div id="main">
    <h1>Patient par Nom</h1>
     
     
    <form action="<%= reqUrl %>/clients?" method="post">
    <input type="hidden" name="op" value="check"/>
    <p>
    <label for="id">choisissez le Patient </label>
    <select name="client_id" onchange="client(this)">
    <option value=""></option>
    <c:forEach var="client" items="${clients}" varStatus="status">
    <option <c:if test="${client.id == param.id}">selected</c:if> value="${client.id}">${client.nom}-${client.prenom}</option>
    </c:forEach>
    </select>
     
    </p>
    </form>
    </div>
    <c:if test="${clientToDisplay!= null}">
    <table id="liste_clients" class="tablesorter" cellspacing="1">
    <thead>
    <tr>
    <th>Nom</th>
    <th>Prénom</th>
    <th>Adresse</th>
    <th>Téléphone</th>
    <th>Clinique</th>
    <th>Chirurgien</th>
    <th>Beneficiare</th>
    <th>Date Operation</th>
    <th>Date Accident</th>
    <th>date de création</th>
    <th>date de mise à jour</th>
    <th>Opération
    </th>
    </tr>
    </thead>
     
     
    <tr>
    <td>${clientToDisplay.nom}</td>
    <td>${clientToDisplay.prenom}</td>
    <td>${clientToDisplay.adresse}</td>
    <td>${clientToDisplay.telephone}</td>
    <td>${clientToDisplay.raison_sociale}</td>
    <td>${clientToDisplay.nom_mededin}</td>
    <td>${clientToDisplay.beneficiare}</td>
    <td>${clientToDisplay.date_operation}</td>
    <td>${clientToDisplay.date_accident}</td>
    <td>${clientToDisplay.date_creation}</td>
    <td>${clientToDisplay.date_mise_jour}</td>
    <td><a href="clients?op=delete&id=${clientToDisplay.id}" onclick="if (window.confirm('Voulez-vous vraiment supprimer ce patient?'))
    {location.href='index.jsp';return true;} else {return false;}">supprimer</a> 
    <a href="clients?op=edit&id=${clientToDisplay.id}">modifier</a></td>
     
    </tr>
     
    </table>
    </c:if>
    <
    </body>
    <%@ include file="/WEB-INF/inc/footer.jsp"%>
    Je n'ai pas mis exprès la liste des commandes pour que tu le fasses toi même
    sur un modèle similaire
    Il se peut que ce code ne compile pas car je l'ai écrit à la volée mais il faut se baser sur ces principes pour respecter les standards

    bon courage

  3. #23
    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 Isma désolé de ne pas bien exprimer mes besoins clairement, oui c'est ca ce que je veux faire je veux essayé votre code, merci

  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 j'ai trouvé la solution voici le code que j'ai mis dans ma servlet j'ai changé un peu la requête
    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
    if (action.equals("check")) {
     
    			Query q = sessionDb.createQuery("from Client C");
    			List<Client> clients = q.list();
    			request.setAttribute("clients", clients);
    			Integer id = null;
    			try {
    				id = Integer.parseInt(request.getParameter("id"));
    			} catch (NumberFormatException e) {
    				// TODO: handle exception
    			}
     
    			if (id != null) {
     
    				String hql = "select cc from Client C,CommandeClient cc where C.id=cc.client.id and C.id="
    						+ id;
    				Query q1 = sessionDb.createQuery(hql);
    				List<CommandeClient> commandes = q1.list();
    				request.setAttribute("commandes", commandes);
                                   q = sessionDb.createQuery("from Client C where C.id =" + id);
    				Client client = (Client) q.uniqueResult();
    				request.setAttribute("client", client);
     
    			}
    			gotoPage("/jsp/clients/check.jsp", request, response);
     
    		}
    et pour la jsp
    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
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
     
    <%@ include file="/WEB-INF/inc/top_header.jsp"%>
    <img src="Image/banniere.jpg" width="1200" height="150" alt="">
    <head>
    <script type="text/javascript">
            function client() {
                    var id = document.getElementById('client_id').value;
                    var url = "clients?op=check&id=" + id;
                    window.location.href = url;
     
            }
            function fonction() {
                    if (window.confirm('Voulez-vous vraiment supprimer ce patient?')) {
                            location.href = 'index.jsp';
                            return true;
                    } else {
                            return false;
                    }
            }//-->
    </script>
    </head>
    <body bgcolor="#8FCF3C">
    <div id="page"><%@ include file="/WEB-INF/inc/menu.jsp"%>
    <div id="content"><%@ include file="/WEB-INF/inc/header.jsp"%>
    <div id="main">
    <h1>Patient par Nom</h1>
     
     
    <form action="<%=reqUrl%>/clients?" method="post"><input
    	type="hidden" name="op" value="check" />
    <p><label for="id">choisissez le Patient </label> <select
    	name="client_id" id="client_id" onchange="client()">
    	<option value=""></option>
    	<c:forEach var="client" items="${clients}" varStatus="status">
    		<option <c:if test="${client.id == param.id}">selected</c:if>
    			value="${client.id}">${client.nom}-${client.prenom}</option>
    	</c:forEach>
    </select></p>
    </form>
    </div>
    <c:if test="${client!= null}">
    	<table id="liste_clients" class="tablesorter" cellspacing="1">
    		<thead>
    			<tr>
    				<th>Nom</th>
    				<th>Prénom</th>
    				<th>Adresse</th>
    				<th>Téléphone</th>
    				<th>Clinique</th>
    				<th>Chirurgien</th>
    				<th>Beneficiare</th>
    				<th>Date Operation</th>
    				<th>Date Accident</th>
    				<th>date de création</th>
    				<th>date de mise à jour</th>
    				<th>Opération</th>
    			</tr>
    		</thead>
     
     
    		<tr>
    			<td>${client.nom}</td>
    			<td>${client.prenom}</td>
    			<td>${client.adresse}</td>
    			<td>${client.telephone}</td>
    			<td>${client.raison_sociale}</td>
    			<td>${client.nom_mededin}</td>
    			<td>${client.beneficiare}</td>
    			<td>${client.date_operation}</td>
    			<td>${client.date_accident}</td>
    			<td>${client.date_creation}</td>
    			<td>${client.date_mise_jour}</td>
    			<td><a href="clients?op=delete&id=${client.id}"
    				onclick="return fonction();">supprimer</a> <a
    				href="clients?op=edit&id=${client.id}">modifier</a></td>
     
    		</tr>
     
    	</table>
    </c:if>
    <h2>Liste de ses commandes</h2>
     
    <c:if test="${commandes!= null}">
    	<table id="liste_commande" class="tablesorter" cellspacing="1">
    		<thead>
    			<tr> 
    				<th>Référence commande</th>
    				<th>Objet</th>
    				<th>date de création</th>
    				<th>date de mise à jour</th>
    			</tr>
    		</thead>
     
    	<c:forEach var="commandeClient" items="${commandes}" varStatus="status">	
    			<tr>
    				<td>${commandeClient.reference}</td>
    				<td>${commandeClient.objet}</td>
    				<td>${commandeClient.date_creation}</td>
    				<td>${commandeClient.date_mise_jour}</td>
    			</tr>
     
    		</c:forEach>
     
    	</table>
    </c:if>
     
    </div>
    </div>
     
    </body>
    <%@ include file="/WEB-INF/inc/footer.jsp"%>

  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
    tant mieux
    par contre je ne comprends toujours pas pourquoi tu ne veux pas mettre tes requêtes vers la base dans une classe spécifiques
    d'abord parce que c'est les standards, que c'est plus facile à maintenir etc ...

    bref. on va dire que l'essentiel pour l'instant c'est que ça marche

    n'oublies pas le tag résolu pour les autres

Discussions similaires

  1. [Servlets - JSP] Problème de session
    Par the java lover dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 28/11/2011, 09h54
  2. [servlet][JSP]forwarder dans une frame
    Par deldin dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 30/06/2004, 18h03
  3. [servlet][JSP] renvoi d'informations
    Par deldin dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 22/06/2004, 13h44
  4. [servlet][jsp] Creer une page de login
    Par Beuj dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 19/03/2004, 17h55
  5. [Servlet][JSP] valeur ajoutée
    Par yolepro dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 03/03/2004, 17h30

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