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 :

[JSP] Aide au sujet d'un projet


Sujet :

Servlets/JSP Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    43
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 43
    Points : 33
    Points
    33
    Par défaut [JSP] Aide au sujet d'un projet
    Salut,
    I'm in galère
    Je vois pleins de choses bizarres sur le net au sujet de JSP. De mémoire, je codais directement mes instructions JAVA dans le fichier .jsp mais je vois sur pleins de site que l'on peut découper finalement le code en classe java et qu'on peut aussi utiliser les javabeans. le problème, c'est que je suis un novice donc il m'est difficile de comprendre quelquechose. je sais pas par quel bout commencer.
    Dans ma page html, j'ai 4 drop down list. Quand je modifie une seule de ces drop down list, je dois initialiser certaines drop down list en HTML dynamique et ensuite envoyer la page au serveur pour effectuer un traitement spécifique (execution d'une requête SQL, renvoi des résultats sur la page du client). Comment m'y prendre?
    Have you got any idea please?

    Merci

  2. #2
    Membre expérimenté
    Avatar de viena
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    1 071
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 071
    Points : 1 512
    Points
    1 512
    Par défaut
    tu peux ajouter tes liste en mettant du javascript sur "onchange". dans le javascript, tu appeles une action java dans laquelle tu charges ta liste suivant, et tu la met en session :
    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
    //liste1 : 
    <html:select property="liste1Selected" onchange="javascript:submitFromListe('liste1');">
    //valeur par defaut
          <html:option value="empty">
               Selectionnez une valeur
           </html:option>
    //iteration sur les valeur de la liste1 en session
          <html:options collection="liste1" property="identifiant" labelProperty="attributAAfficher"/>
    </html:select>
    ...
    //liste2
    <html:select property="liste1Selected" onchange="javascript:submitFromListe('liste1');">
    //verification de la presence de la liste 2 en session
       <logic:present name="liste2" scope="session">
          //valeur par defaut
          <html:option value="empty">
               Selectionnez une valeur
           </html:option>
           //iteration sur les valeur de la liste1 en session
          <html:options collection="liste1" property="identifiant" labelProperty="attributAAfficher"/>
       </logic:present>
       <logic:notpresent name="liste2" scope="session">
          //valeur par defaut
          <html:option value="empty">
               Aucune selection possible
           </html:option>
       </logic:notpresent>  
    </html:select>
    Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java
    "La liberté de tout être s'arréte là où commence celle de l'autre... Respecter l'autre, c'est préserver sa liberté d'être, de penser et de vivre"

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    43
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 43
    Points : 33
    Points
    33
    Par défaut
    Dans le code que tu me proposes, est-ce que toutes les listes sont visibles pour l'utilisateur?

    Peux-tu m'apporter un peu d'explication sur le code pour que je puisse m'en servir?

    je m'explique un peu mieux sur ce que je veux obtenir :
    J'ai 4 drop down list. lors du premier chargement, je lance une requête SQL qui me remplit 2 des drop down list. A tout moment l'utilisateur peut modifier une drop down list. Le système doit donc pouvoir capter cette information pour agir. A chaque drop down list correspond un traitement bien spécifique
    (code client -> mettre à blanc des drop down list; code serveur -> Executer une requête spécifique en fonction de condition, à savoir la drop down list que l'utilisateur a modifié)

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    43
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 43
    Points : 33
    Points
    33
    Par défaut
    Est-ce que ça serait judicieux d'utiliser un tableau à une dimension pour stocker les valeurs de chaque drop down list?

  5. #5
    Membre expérimenté
    Avatar de viena
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    1 071
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 071
    Points : 1 512
    Points
    1 512
    Par défaut
    et bien, le code que je te donne peut faire ca.
    il est commenté, dis moi ce que tu ne comprend pas.
    Apres, dans ton javascript, tu auras des tests sur la valeur selectionnée pour savoir quel traitement lancer.
    Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java
    "La liberté de tout être s'arréte là où commence celle de l'autre... Respecter l'autre, c'est préserver sa liberté d'être, de penser et de vivre"

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    43
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 43
    Points : 33
    Points
    33
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:select property="liste1Selected" onchange="javascript:submitFromListe('liste1');">
    A quoi sert property?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:options collection="liste1" property="identifiant" labelProperty="attributAAfficher"/>
    A quoi sert collection, property, labelProperty?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    //verification de la presence de la liste 2 en session 
       <logic:present name="liste2" scope="session">
    A quoi ça sert ça?

    As-tu un exemple de fichier javascript ?

  7. #7
    Membre expérimenté
    Avatar de viena
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    1 071
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 071
    Points : 1 512
    Points
    1 512
    Par défaut
    1. c'est le nom de ta liste. En gros, c'est la variable qui contiendra la selection (que tu peux declarer dans un form par exemple)
    2. collection, c'est la liste chargé en session
    property, c'est l'attribut qui sera retourner pour definir la selection
    label, c'est ce qui est affiché dans la liste
    ex : si tu as une liste de personne indexée par un numero sequentiel (identifiant), liste mis en session grace a
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setSession("ListePersonnes", liste);
    ou un truc dans le genre, je sais plus trop...
    et bien en fait, collection sera "listePersonnes", property sera l'identifiant, qui te servira a savoir quelle personne a été selectionnée par l'utilisateur, et label sera le nom de la personne, affiché dans la liste
    3. logic:present sert a regardé si un objet est en session, en request...
    la, on verifie que "liste2" est en session. S'il y est, on fait le code qui se trouve entre les balises ouvrante et fermante, sinon, on l'ignore et on passe a la suite.

    4. le javascript, c'est du code tout con, comme du java. J'en ai pas sous la main, regarde sur le net, tu vas trouver facilement.
    Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java
    "La liberté de tout être s'arréte là où commence celle de l'autre... Respecter l'autre, c'est préserver sa liberté d'être, de penser et de vivre"

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    43
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 43
    Points : 33
    Points
    33
    Par défaut
    Quel est l'interêt de mettre en session?

    Je viens d'avoir l'idée de gérer mes listes deroulantes avec des tableaux java. Chaque liste a son tableau. Comme cela, je gère dynamiquement les listes. Est-ce une bonne idée?

  9. #9
    Membre expérimenté
    Avatar de viena
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    1 071
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 071
    Points : 1 512
    Points
    1 512
    Par défaut
    as tu reflechi a la facon de transmettre tes donnees (liste, tableau... c pas le pb) entre la classe java qui va les charger et les JSP?
    voila l'interet de les mettre en session... tu peux tout aussi bien les passer en request, si tu n'en plus besoin ensuite.
    Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java
    "La liberté de tout être s'arréte là où commence celle de l'autre... Respecter l'autre, c'est préserver sa liberté d'être, de penser et de vivre"

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    43
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 43
    Points : 33
    Points
    33
    Par défaut
    Oki, donc je suis obligé de passer par la session.

    Je te présente le code que j'ai pour le moment :
    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
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    <script type="text/javascript" language="JavaScript">
    function Changer(liste)
    {
     
    }
    </script> 
    <%@ page language="Java" import="java.util.*" %>
    <HTML>
        <HEAD>
            <TITLE>Choix du groupe de valeurs</TITLE>
        </HEAD>
        <BODY>
    	<center><H2> Choix du groupe de valeurs</H2></center>
    	<HR>
     
    	<%! String tab_organisme[] = new String[10];
                    String tab_sigle[] = new String[10];
                    String tab_type_activite[] = new String[10];
                    String tab_groupe_valeur[] = new String[10];
            
                    void initialiser_organisme() {
                    tab_organisme[0]="Organisme1";
                    tab_organisme[1]="Organisme2";
                    tab_organisme[2]="Organisme3";
                    }
                    
                    void initialiser_sigle(int numero) {
                    if (numero==1)
                    {
                    tab_sigle[0]="Sigle1";
                    tab_sigle[1]="Sigle2";
                    tab_sigle[2]="Sigle3";
                    }
                    if (numero==2)
                    {
                    tab_sigle[0]="Sigle4";
                    tab_sigle[1]="Sigle5";
                    tab_sigle[2]="Sigle6";
                    }
                    
                    }
                    
                    void initialiser_type_activite() {
                            tab_type_activite[0]="type_activite1";
                            tab_type_activite[1]="type_activite2";
                            tab_type_activite[2]="type_activite3";
                    }
                    
                    void vider_sigle() {
                            for (int i=0 ; i < tab_sigle.length ; i++) 
                            {
                            tab_sigle[i]=null;
                            }
                    }
                    
                    void vider_type_activite() {
                            for (int i=0 ; i < tab_type_activite.length ; i++) 
                            {
                            tab_type_activite[i]=null;
                            }
                    }
            %>
     
    	<%      if (tab_organisme[0]==null) 
                            {
                            initialiser_organisme();
                            vider_sigle();
                            vider_type_activite();
                            }       
                    
                    if (tab_sigle[0]==null) 
                            {
                            initialiser_sigle();
                            vider_type_activite();
                            }       
            %>
    	<form method="post" action="page_saisie.jsp">
    	<center><table border=4>
    	<tr>
    	<td><H3>organisme :		</H3></td>
    	<td><H3>Sigle :		</H3></td>
    	<td><H3>Type activité :		</H3></td>
    	<td><H3>Groupe de valeurs :		</H3></td>
    	</tr>
    	<tr>
    	<td width=200 eight=50>
     
     
     
    	<SELECT property="liste_organismeSelected" name="organisme" onchange="javascript:changer('liste_organisme');">
    	  <option value="empty"> 
               Selectionnez une valeur 
          </option> 
    	<%
            for (int i=0 ; i < tab_organisme.length ; i++) 
            {
            if (tab_organisme[i]==null)
                    {}
            else
                    {
                    out.println("<option> "+ tab_organisme[i] + "</option>");
                    }
            }
            %>
    	</select>
    	</td>
    	<td width=200 eight=50>
    	<SELECT property="liste_sigleSelected" name="sigle" onchange="javascript:changer('liste_sigle');">
    	  <option value="empty"> 
               Selectionnez une valeur 
          </option> 
    	<%
            for (int i=0 ; i < tab_sigle.length ; i++) 
            {
            if (tab_sigle[i]==null)
                    {}
            else
                    {
                    out.println("<option> "+ tab_sigle[i] + "</option>");
                    }
            }
            %>
    	</select>
    	</td>
    	<td width=200 eight=50>
    	<SELECT property="liste_type_activiteSelected" name="type_activite" onchange="javascript:changer('liste_type_activite');"> 
          <option value="empty"> 
               Selectionnez une valeur 
          </option> 
    	<%
            for (int i=0 ; i < tab_type_activite.length ; i++) 
            {
            if (tab_type_activite[i]==null)
                    {}
            else
                    {
                    out.println("<option> "+ tab_type_activite[i] + "</option>");
                    }
            }
            %>
    	</select>
    	</td>
    	<td width=200 eight=50> 
    	<SELECT property="liste_groupe_valeurSelected" name="groupe_valeur" onchange="javascript:changer('liste_groupe_valeur');">
    	   <option value="empty"> 
               Selectionnez une valeur 
          </option> 
    	<%
            for (int i=0 ; i < tab_groupe_valeur.length ; i++) 
            {
            if (tab_groupe_valeur[i]==null)
                    {}
            else
                    {
                    out.println("<option> "+ tab_groupe_valeur[i] + "</option>");
                    }
            }
            %>
    	</select>
    	</td>
    	</tr>
    	</table>
    	</center>
    	<br><p><input type="submit"><input type="reset">
    	</form>
        </BODY>
    </HTML>
    Comme ça, tu peux voir de quoi il retourne. Pour remplir mes tableaux, j'apelle les fonction qui vont bien (à terme, on va mettre un accès à DB2).
    Et quand je construit mon select, il va chercher les infos du tableau pour me mettre les bonnes valeurs. Sur le Onchange du select, j'apelle la fonction javascript qui va lancer les fonctions java qui vont bien. J'ai un problème pour récupérer la valeur du select qui l'utilisateur a choisi. Comment le rajouter dans mon code?

  11. #11
    Membre expérimenté
    Avatar de viena
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    1 071
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 071
    Points : 1 512
    Points
    1 512
    Par défaut
    j'ai du mal a regarder ton code...
    c'est horrible de mettre tant de java dans une JSP. Dans l'ideal, il ne doit pas y avoir de java dans les JSP! les classes sont la pour ca!
    quelques lignes, pour initialiser une variable ou ce genre de choses... mais carrement des methodes, ca craint... efin, c'est mon avis...
    En J2EE il y a un pattern sympa qui s'appele MVC, renseigne toi, ca concerne la separation des couches
    Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java
    "La liberté de tout être s'arréte là où commence celle de l'autre... Respecter l'autre, c'est préserver sa liberté d'être, de penser et de vivre"

  12. #12
    Membre expérimenté
    Avatar de viena
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    1 071
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 071
    Points : 1 512
    Points
    1 512
    Par défaut
    Deja, par exemple, tes "for" peuvent etre des tag :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
       <% 
       for (int i=0 ; i < tab_groupe_valeur.length ; i++) 
       { 
       if (tab_groupe_valeur[i]==null) 
          {} 
       else 
          { 
          out.println("<option> "+ tab_groupe_valeur[i] + "</option>"); 
          } 
       } 
       %>
    Un truc dans ce genre doit marcher, mais je suis pas sure, je n'ai jamais fait ca avec des tableau et surtout, des types primitifs...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:options collection="tab_groupe_valeur">
    Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java
    "La liberté de tout être s'arréte là où commence celle de l'autre... Respecter l'autre, c'est préserver sa liberté d'être, de penser et de vivre"

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    43
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 43
    Points : 33
    Points
    33
    Par défaut
    J'ai pas le temps de faire propre. (pattern MVC je connais)

    Merci de ton aide

  14. #14
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    43
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 43
    Points : 33
    Points
    33
    Par défaut
    Encore une question:
    Comment envoyer la page au serveur à chaque changement de valeurs d'une des drop down list?
    (Puisque dans mon code, à chaque changement, j'appelle une fonction javascript.)

    Voici mon javascript :
    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
    <script type="text/javascript" language="JavaScript">
    function changer(int numero)
    {
    if (numero==0)
    {
    initialiser_sigle(choix.ListeOrganisme.options[choix.ListeOrganisme.selectedIndex].value)
    initialiser_type_activite(choix.ListeOrganisme.options[choix.ListeOrganisme.selectedIndex].value,choix.ListeSigle.options[choix.ListeSigle.selectedIndex].value)
    }
     
    if (numero==1)
    {
    initialiser_type_activite(choix.ListeOrganisme.options[choix.ListeOrganisme.selectedIndex].value,choix.ListeSigle.options[choix.ListeSigle.selectedIndex].value)
    }
     
    if (numero==2)
    {
    initialiser_type_activite(choix.ListeOrganisme.options[choix.ListeOrganisme.selectedIndex].value,choix.ListeSigle.options[choix.ListeSigle.selectedIndex].value)
    }
     
    }
    </script>
    Les fonctions que j'appelle sont des fonction java. Il me semble que j'ai fait une erreur car mon code ne marche pas.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 04/10/2011, 12h51
  2. DEmande d'aide sur sujet de projet
    Par Mr-Mobou dans le forum Oracle
    Réponses: 5
    Dernier message: 15/04/2008, 00h20
  3. Demande d'aide au sujet de VB .Net
    Par robert.michel9 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 27/10/2005, 13h15
  4. besoins de sujets pour mon projet
    Par Hydre dans le forum Windows
    Réponses: 2
    Dernier message: 24/08/2005, 11h37
  5. [Système d'aide] Lier mon *.hlp à mon projet
    Par termerair dans le forum MFC
    Réponses: 2
    Dernier message: 18/01/2005, 13h39

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