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 :

Ma premiere page JSP


Sujet :

Servlets/JSP Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2007
    Messages : 48
    Par défaut Ma premiere page JSP
    Bonsoir,

    J'ai écrit ma première page JSP et ça donne ceci :
    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
    <!DOCTYPE HTML PUBliC "-//W3C/DTD HTML 4.0 Transitional//EN">
    <html>
    <head>
    <META HTTP-EQUIV = "Pragma" CONTENT="no-cache">
    		<title>Données de base</title>
    <script>
    function valueDate(formulaire,valAn,valMoi) {
    var valAnnee=valAn.value;
    var valMois=valMoi.value;
    alert(valAnnee + ' ' + valMois);
     
            }
            
     
    </script>
     
    <link href="style.css" type="text/css" rel="stylesheet" >
    </head>
    <body>
    <FORM name="formlist" ACTION="" METHOD="">
    <table border="0" width="100%">
      <tr>
        <td width="50%">
    		<h3>Annee<img width="10" height="1" src="../Images/rien.gif">
    		<select name="j_annee" onChange="valueDate('formlist','j_annee','j_mois')">
    		<option value="0"></option>
    		<option value="2000">2000</option>
    		<option value="2001">2001</option>
    		<option value="2002">2002</option>
    		<option value="2003">2003</option>
    		<option value="2004">2004</option>
    		<option value="2005">2005</option>
    		<option value="2006">2006</option>
    		<option value="2007">2007</option>
    		<option value="2008">2008</option>
    		<option value="2009">2009</option>
    		<option value="2010">2010</option>
    		</select></h3>
    	</td>
        <td width="50%">
    		<h3>Mois<img width="10" height="1" src="../Images/rien.gif">
    		<select name="prestmois" onChange="valueDate('formlist','j_annee','j_mois')">
    		<option value="0"></option>
    		<option value="1">Janvier</option>
    		<option value="2">Fevrier</option>
    		<option value="3">Mars</option>
    		<option value="4">Avril</option>
    		<option value="5">Mai</option>
    		<option value="6">Juin</option>
    		<option value="7">Juillet</option>
    		<option value="8">Aout</option>
    		<option value="9">Septembre</option>
    		<option value="10">Octobre</option>
    		<option value="11">Novembre</option>
    		<option value="12">Decembre</option>
    		</select>
    		</h3>
    	</td>
      </tr>
    </table>
    </form>
    </body>
    </html>
    Je désire effectuer un traitement basé sur une période démarrant le premier jour d'un mois choisi par un utilisateur.
    Pour progammer cette date de départ, je désire utiliser deux listes SELECT, une avec les années, l'autre avec les mois.

    J'ai créé ces deux listes et j'essaie maintenant de lire les choix effectués.
    Pour voir si j'arrive à lire l'année et le mois, j'ai créé une fonction qui ne contient pour le moment qu'un alert() ou je voudrais afficher l'année et le numéro du mois.

    Hélas, la boite n'affiche que deux fois l'indication "undefined undefined"

    Quelle erreur ai-je commise ?

    Mon environnement est :
    Eclipse Platform Version: 3.4.0 Build id: I20080617-2000
    Server Tomcat 6.0

    Merci de l'aide et bonne soirée

  2. #2
    Membre Expert Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Par défaut
    Oula il va falloir voir les bases du javascript. Tu trouvera pas mal de tutoriels sur ce site.
    En gros il faut déja que tu récupère l'objet correspondant à ton select
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.getElementById('idDuSelect')
    puis que tu récupère l'option sélectionnée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.getElementById('idDuSelect').options[document.getElementById('idDuSelect').selectedIndex].value
    Tu trouvera des exemple dans la FAQ.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2007
    Messages : 48
    Par défaut
    Citation Envoyé par guigui5931 Voir le message
    Oula il va falloir voir les bases du javascript. Tu trouvera pas mal de tutoriels sur ce site.
    Bonsoir et merci pour le diagnostic !

    Je vais lire les tutoriels et je reviendrai plus tard.

    Je place mon message pour le moment sur résolu...

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2007
    Messages : 48
    Par défaut
    Voilà-voilà...

    J'ai lu quelques tutoriels et j'ai modifié comme suit mon 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
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
     
    <!DOCTYPE HTML PUBliC "-//W3C/DTD HTML 4.0 Transitional//EN">
    <html>
    <head>
    <META HTTP-EQUIV = "Pragma" CONTENT="no-cache">
    		<title>Agenda</title>
    <script>
    function valueDate() {
    var anValue = document.getElementById('jsannee').value;
    var moiValue = document.getElementById('jsmois').value;
    //alert(anValue + ' ' + moiValue);
     
            if ( anValue > 0 && moiValue < 99 ) {
            var dateValue = new Date(anValue, moiValue, 1);
            document.getElementById('dateval').value = dateValue;
            document.getElementById('datevaljour').value = dateValue.getDate();
            document.getElementById('datevalmois').value = dateValue.getMonth();
            document.getElementById('datevalan').value = dateValue.getFullYear();
            }
    }
     
    </script>
     
    <link href="style.css" type="text/css" rel="stylesheet" >
    </head>
    <body>
    <FORM name="formlist" ACTION="" METHOD="">
    <table border="0" width="100%">
      <tr>
        <td width="50%">
    		Annee
    		<select name="jsannee" onChange="valueDate()">
    		<option value="0"></option>
    		<option value="2006">2006</option>
    		<option value="2007">2007</option>
    		<option value="2008">2008</option>
    		<option value="2009">2009</option>
    		<option value="2010">2010</option>
    		</select>
    	</td>
        <td width="50%">
    		Mois
    		<select name="jsmois" onChange="valueDate()">
    		<option value="99"></option>
    		<option value="0">Janvier</option>
    		<option value="1">Fevrier</option>
    		<option value="2">Mars</option>
    		<option value="3">Avril</option>
    		<option value="4">Mai</option>
    		<option value="5">Juin</option>
    		<option value="6">Juillet</option>
    		<option value="7">Aout</option>
    		<option value="8">Septembre</option>
    		<option value="9">Octobre</option>
    		<option value="10">Novembre</option>
    		<option value="11">Decembre</option>
    		</select>
    	</td>
      </tr>
      <tr>
        <td width="100%" colspan="2">
    	Champs de controle pour voir si tout marche bien<br>
    		Timestamp<input type="text" name="dateval" size="50">
    		jour<input type="text" name="datevaljour" size="4">
    		mois<input type="text" name="datevalmois" size="4">
    		annee<input type="text" name="datevalan" size="8">
    	</td>
      </tr>
    </table>
    <table border="0" width="100%">
      <tr>
        <td width="100%">
     
    Ici une table des éléments lus dans la base de données
    	</td>
      </tr>
    </table>
     
    </form>
    </body>
    </html>
    Effectivement, avec getElementById, c'est beaucoup plus simple !

    Maintenant, malgré mes recherches, je n'ai pas trouvé la réponse à la question suivante:
    - après avoir sélectionné un mois et une année, je désire lire dans une base de données MySQL les éléments d'agenda du mois désiré et afficher le résultat dans un tableau situé juste en dessous des listes de sélection dans la même page.

    Je n'ai pas de problème pour sélectionner dans MySQL par contre, je ne sais pas comment appeler la fonction qui va rédiger le tableau...

    Bonne soirée et bonne année 2009 !

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2007
    Messages : 48
    Par défaut
    Pour préciser, mon idée était d'écrire la boucle d'écriture du tableau et, après avoir séélectionné les mois et année, faire un reload pour provoquer la lecture de la requête avec les paramètres requis mais un reload efface la sélection...

  6. #6
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Bonjour et bonne année 2009 aussi,

    En jsp avec du jvascript comme ton code tu ne peux pas afficher ton tableau directement car il ne faut pas oublier la notion client/serveur.

    Soit tu repasses par une servlet (serveur) pour réafficher ta page jsp avec les valeurs mois et année qui ont été sélectionnés.

    Soit c de l'AJAX qui est aussi du javascript mais qui permet de communiquer avec le serveur.

    Et puis avec un reload c normal que tu perds l'affichage des select

    Pour la première solution, tu peux passer par une servlet, cette dernière récuppérant les valeurs de tes deux sélect PUIS cette dernière réaffiche ta jsp en renvoyant les valeurs ET dans ta jsp:

    au niveau des selects si il existe déjà une valeur sélectionnée, tu fais sélected comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
                     <option value="2006" 
                                                <% if( (annéeChoisie != null) && (Integer.parseInt(annéeChoisi) == "2006") ){ %> selected <% } %>
                                                >2006
                       </option>
    Comme cela tu garderas tes valeurs sélectionnées

  7. #7
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Rien n'empêche de positionner les valeurs des 2 <select> à l'affichage (ou le réaffichage) mais il faut modifier le code de la page.
    En supposant qu'on enregistre dans le request (dans la servlet, on fait request.setAttribute("YEAR", year); )
    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
     
     
    <form name="monForm" ...>
    <select name="jsannee" onChange="valueDate()">
        <option value="0"></option>
        <option value="2006">2006</option>
        <option value="2007">2007</option>
        <option value="2008">2008</option>
        <option value="2009">2009</option>
        <option value="2010">2010</option>
    </select>
    <%
    String currentYear = (String)request.getAttribute("YEAR");
    if (currentYear != null)
    {
       out.print("<script>document.monForm.jsannee.value=\"" + currentYear + "\";</script>");
    }
    %>
    La solution AJAX peut être intéressante également si tu n'as qu'une partie de ta page à recharger... sinon, c'est un peu "luxueux" pour débuter
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  8. #8
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    merci OButterlin

    J'avais jamais pensé à faire comme cela ... ça évite de mettre une condition sur chaque option. (sauf dans le cas si la liste est rempli par une boucle).

    Et puis mettre du script avec le out.print je vais pouvoir changer le style de programmation aussi

    Parcontre reste le pb ou le client n'a pas le javascript sur sa machine !!! dans ce cas faut revenir à la solution du "selected"

  9. #9
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Fench Voir le message
    ...
    Parcontre reste le pb ou le client n'a pas le javascript sur sa machine !!! dans ce cas faut revenir à la solution du "selected"
    Oui, effectivement, ça suppose que javascript est actif... mais bon, d'un autre côté, actuellement, si javascript est désactivé, on ne fait plus grand chose...

    Il faudra bien que l'utilisateur final choisisse... d'un côté il veut un look "sexy", de l'autre il ne veut pas de javascript... On peut mettre une applet comme alternative...
    Bref, en ce qui me concerne, si l'utilisateur désactive javascript, il ne pourra pas utiliser les applications... (de la pure intolérance, je l'accorde )

    Et bonne année
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2007
    Messages : 48
    Par défaut
    Bonsoir,

    Le Javascript est obligatoire pour l'utilisateur de cette application. Ainsi en a décidé le concepteur, d'entente avec le développeur et le programmeur.
    Et la décision a été facile à obtenir puisque tout ce petit monde se résume à moi-même... (pour l'instant)

    <paratonnerre ON>
    J'ai ajouté les request.getAttribute et, en suivant un tutoriel, j'ai également ajouté un masque qui me permet de sélectionner un utilisateur.
    J'ai ajouté un masque intermédiaire qui s'occupe du getParameter(user) et qui charge le setAttribute(user). Ensuite ce masque intermédiaire effectue un forward vers le masque d'appel du mois et de l'année. J'ai créé deux masque séparés car j'ai décidé que l'utilisateur s'annonce une seule fois à l'entrée de l'application mais peut ensuite vouloir travailler plusieurs périodes différentes.

    Maintenant, il y a un truc que je n'ai pas compris:
    Comme je veux afficher mon tableau dans la même page, j'ai ajouté un submit() à la fin de la fonction qui contrôle que le mois et l'année sont bien les deux correctement sélectionnés.
    Le masque effectue bien quelque chose puisque chaque fois que ce submit() est appelé, tous les champs et les request.getAttribute sont réinitalisés sur "null"...

    Dois-je appeler un autre masque intermédiaire qui me renvoie ensuite vers le masque d'affichage qui vient d'appeler ce masque intermédiaire ?

    Ca me semble absurde d'avoir un masque A qui appelle un masque B pour initialiser les setAttribute dont jai besoin dans le masque A...

    <paratonnerre OFF>

    PS: j'ai installé un paratonnerre pour m'éviter les foudres des spécialistes au cas ou j'aurais dit une grosse bêtise...

  11. #11
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Inutile de mettre un paratonnerre, de toute façon, ça n'empêchera jamais un aigri de cracher son venin

    Par contre, si tu pouvais mettre un peu de ton code, ça permettrait de voir plus clair...

    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2007
    Messages : 48
    Par défaut
    Citation Envoyé par OButterlin Voir le message
    Par contre, si tu pouvais mettre un peu de ton code, ça permettrait de voir plus clair...

    A+
    Voilà:

    Page appel.jsp, dans cette page, je choisis un utilisateur et un domaine
    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
     
    <!DOCTYPE HTML PUBliC "-//W3C/DTD HTML 4.0 Transitional//EN">
    <html>
    <head>
    <META HTTP-EQUIV = "Pragma" CONTENT="no-cache">
    		<title>Choix de l'utilisateur</title>
    <link href="style.css" type="text/css" rel="stylesheet" >
    </head>
    		<body>
    <FORM METHOD=POST ACTION="intermede.jsp">
    <table border="1" width="100%">
      <tr>
        <td width="50%" align="right">Utilisateur no 1 a 5</td>
    	<td width="50%" align="left"><INPUT TYPE=TEXT NAME=IdenUs SIZE=4></td>
      </tr>
      <tr>
        <td width="50%" align="right">Domaine no 1 a 3</td>
    	<td width="50%" align="left"><INPUT TYPE=TEXT NAME=IdenDom SIZE=4></td>
      </tr>
      <tr>
    	<td width="50%"  align="center">
    	</td>
    	<td width="50%"  align="left">
    	<input type="submit" value="Vas-y !" tabindex="-1" width="90" height="20">
    	</td>
      </tr>
    </table>
    		</body>
    </html>
    Page intermede.jsp, cette page gère les getParameter et les setAttribute
    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
     
    <!DOCTYPE HTML PUBliC "-//W3C/DTD HTML 4.0 Transitional//EN">
    <%@page import="javax.sql.DataSource"%>
    <%@page import="javax.naming.InitialContext"%>
    <%@page import="java.sql.Connection"%>
    <%@page import="java.sql.Statement"%>
    <%@page import="java.sql.ResultSet"%>
    <%
       String idus = request.getParameter( "IdenUs" );
       String idom = request.getParameter( "IdenDom" );
    %>
     
    <%
       request.setAttribute( "IdUser", idus );
       request.setAttribute( "IdDom", idom );
       request.setAttribute( "datval", "2008-07-01" );
       request.setAttribute( "datvaljour", "1" );
       request.setAttribute( "datvalmois", "6" );
       request.setAttribute( "datvalan", "2008" );
    %>
    <%
            String strViewPage="agenda.jsp";
            RequestDispatcher dispatcher = request.getRequestDispatcher(strViewPage);
            if (dispatcher != null){
                    dispatcher.forward(request, response);
            }
    %>
    <HTML>
    <BODY>
    Par défaut, le mois de juillet 2008 est présélectionné
    <A HREF="agenda.jsp">Continue</A>
     
    </BODY>
    </HTML>
    Page agenda.jsp:
    - cette page est censée afficher pour le moment l'utilisateur (nom + prénom) et le domaine.
    - il y a 2 champs "Mois" et "Année" qui permettent de sélectionner un début de période. Par la suite, je vais ajouter un 3e champ pour choisir la durée (1, 2 ou 3 mois à visualiser)
    - ensuite, j'affiche 5 champs input text pour visualiser le résultat du traitement: lorsque je sélectionne une période, la date est décomposée dans les divers champs; par contre, impossible d'afficher l'ID_User
    - dans un tableau à 2 colonnes, j'affiche les getAttribute: User et Dom, c'est OK (du moins, ça y ressemble...), le reste ne fonctionne pas comme désiré; les dates ne se mettent pas à jour, ça reste sur la date par défaut.


    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
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
     
    <!DOCTYPE HTML PUBliC "-//W3C/DTD HTML 4.0 Transitional//EN">
    <%@page import="javax.sql.DataSource"%>
    <%@page import="javax.naming.InitialContext"%>
    <%@page import="java.sql.Connection"%>
    <%@page import="java.sql.Statement"%>
    <%@page import="java.sql.ResultSet"%>
    <% DataSource ds= (DataSource) new InitialContext().lookup("java:comp/env/jdbc/agenda"); 
            Connection connection = ds.getConnection();
            Statement stmt = connection.createStatement();
            ResultSet result = stmt.executeQuery("SELECT Util_Nom, Util_Pnom FROM utilisateur WHERE  Util_ID=" + request.getAttribute( "IdUser" ) + ";");
            
            Statement stmt2 = connection.createStatement();
            ResultSet result2 = stmt2.executeQuery("SELECT Dom_Descr FROM domaine WHERE  Dom_ID=" + request.getAttribute( "IdDom" ) + ";");
                    
    String currentYear = (String)request.getAttribute("datvalan");
    if (currentYear != null)
    {
       out.print("<script>this.document.jsannee.value=\"" + currentYear + "\";</script>");
    }
    String currentMonth = (String)request.getAttribute("datvalmois");
    if (currentMonth != null)
    {
       out.print("<script>this.document.jsmois.value=\"" + currentMonth + "\";</script>");
    }
    String currentUser = (String)request.getAttribute("IdUser");
    if (currentUser != null)
    {
       out.print("<script>this.document.IdenUser.value=\"" + currentUser + "\";</script>");
    }
    %>		
    <html>
    <head>
    <META HTTP-EQUIV = "Pragma" CONTENT="no-cache">
    		<title>Agenda</title>
    <script>
     
    function valueDate() {
    var anValue = document.getElementById('jsannee').value;
    var moiValue = document.getElementById('jsmois').value;
                    //Test : les deux champs renvoient ils une valeur valide ?
            if ( anValue > 0 && moiValue < 99 ) {
                    // Initialisation de la variable date, les valeurs des champs "Année" et "Mois" sont lues
                    var dateValue = new Date(anValue, moiValue, 1);
                    //affichage de la date et de ses attributs pour voir si ça marche bien
                    document.getElementById('dateval').value = dateValue;
                    document.getElementById('datevaljour').value = dateValue.getDate();
                    document.getElementById('datevalmois').value = dateValue.getMonth();
                    document.getElementById('datevalan').value = dateValue.getFullYear();
                    
            }
    }
            
    </script>	
    </head>
    	<BODY >
    <FORM name="formagen" METHOD=POST ACTION="">
    <table border="1" width="100%">
      <tr>
        <td width="50%" align="right" style="border: medium black">
    		Utilisateur:
    	</td>
        <td width="50%" align="left" style="border: medium black">
     
    		<% while(result.next()) { %><%=result.getString(1) %><img width="5" height="1" src="../Images/rien.gif"><%=result.getString(2) %><% } %>
     
    	</td>
      </tr>
      <tr>
        <td width="50%" align="right" style="border: medium black">
    		Domaine:
    	</td>
        <td width="50%" align="left" style="border: medium black">
     
    		<% while(result2.next()) { %><%=result2.getString(1) %><% } %>
     
    	</td>
      </tr>
      <tr>
        <td width="50%" align="center"><font size="3" color="#0000ff" face="Arial"><b>Annee</b></font></td>
        <td width="50%" align="center"><font size="3" color="#0000ff" face="Arial"><b>Mois</b></font></td>
      </tr>
      <tr>
        <td width="50%" align="center">
    		<select name="jsannee" onChange="valueDate()">
    		<option value="0"></option>
    		<option value="2005">2005</option>
    		<option value="2006">2006</option>
    		<option value="2007">2007</option>
    		<option value="2008">2008</option>
    		<option value="2009">2009</option>
    		<option value="2010">2010</option>
    		</select>
    	</td>
        <td width="50%" align="center">
    		<select name="jsmois" onChange="valueDate()">
    		<option value="99"></option>
    		<option value="0">Janvier</option>
    		<option value="1">Fevrier</option>
    		<option value="2">Mars</option>
    		<option value="3">Avril</option>
    		<option value="4">Mai</option>
    		<option value="5">Juin</option>
    		<option value="6">Juillet</option>
    		<option value="7">Aout</option>
    		<option value="8">Septembre</option>
    		<option value="9">Octobre</option>
    		<option value="10">Novembre</option>
    		<option value="11">Decembre</option>
    		</select>
    	</td>
      </tr>
      <tr>
        <td width="100%" style="border: medium black" colspan="2">
    		Affichage des resultats pour voir si ça marche<br>
    		<input type="text" name="IdenUser" size="5">
    		<input type="text" name="dateval" size="50">
    		<input type="text" name="datevaljour" size="4">
    		<input type="text" name="datevalmois" size="4">
    		<input type="text" name="datevalan" size="8">
    	</td>
      </tr>
      <tr>
        <td width="50%" align="right">
    		<font size="2" color="#0000ff" face="Arial"><b>IdUser</b></font>
    	</td>
        <td width="50%" align="left">
    		<%= request.getAttribute( "IdUser" ) %>
    	</td>
      </tr>
      <tr>
        <td width="50%" align="right">
    		<font size="2" color="#0000ff" face="Arial"><b>IdDom</b></font>
    	</td>
        <td width="50%" align="left">
    		<%= request.getAttribute( "IdDom" ) %>
    	</td>
      </tr>
      <tr>
        <td width="50%" align="right">
    		<font size="2" color="#0000ff" face="Arial"><b>dateval</b></font>
    	</td>
        <td width="50%" align="left">
    		<%= request.getAttribute( "datval" ) %>
    	</td>
      </tr>
      <tr>
        <td width="50%" align="right">
    		<font size="2" color="#0000ff" face="Arial"><b>datevaljour</b></font>
    	</td>
        <td width="50%" align="left">
    		<%= request.getAttribute( "datvaljour" ) %>
    	</td>
      </tr>
      <tr>
        <td width="50%" align="right">
    		<font size="2" color="#0000ff" face="Arial"><b>datevalmois</b></font>
    	</td>
        <td width="50%" align="left">
    		<%= request.getAttribute( "datvalmois" ) %>
    	</td>
      </tr>
      <tr>
        <td width="50%" align="right">
    		<font size="2" color="#0000ff" face="Arial"><b>datevalan</b></font>
    	</td>
        <td width="50%" align="left">
    		<%= request.getAttribute( "datvalan" ) %>
    	</td>
      </tr>
    </table>
    <script type="text/javascript" >
    Chargement();
    }
    </script>
    <table border="0" width="100%">
      <tr>
        <td width="80%"></td>
        <td width="20%" align="left">
    		<input type="button" value="Retour" onclick="window.location.href='appel.jsp'; return false;" tabindex="-1" width="90" height="20">
    	</td>
      </tr>
    </table>
    </form>
    </body>
    </html>

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2007
    Messages : 48
    Par défaut
    Pour mémoire, ce sont mes premières pages JSP et j'ai envie de pouvoir choisir un utilisateur dans un masque et afficher son nom et prénom dans un autre. Jusque là, ça va...

    Dans le 2e masque, je désire que les coordonnées de l'utilisateur s'affichent au chargement, c'est OK.
    Ensuite, je désire pouvoir choisir un début de période, ça va aussi.

    Et après avoir choisi la date de départ, je désire afficher en dessous les données lues dans MySQL. Et ça, ça ne marche pas encore...

    Merci de l'aide et bonne journée !

  14. #14
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Après une longue période de lecture ... j'en arrive à qq solutions (du moins je l'espère) que tu peux tester

    Pour la mise à jour des dates, et la fonction valueDate(), j'aurais mis pour plus de certitude dans le test les var telles que:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var anValue = parseInt( document.getElementById('jsannee').value );
    var moiValue = parseInt( document.getElementById('jsmois').value );
    car le pb d'une fct javascript, si elle merdouille et bien tu peux pas le savoir directement !!!

    Pour le IdentUser, tu dois avoir un pb dans le passage de la request et de plus j'aurais continué à faire du code comme la première jsp tel que:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
       String currentUser = request.getParameter( "IdUser" );
    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String currentUser = (String)request.getAttribute("IdUser");
    MAIS ds tous les cas, je ne comprends comment elle peut être mis à jour vu que, tu set sa value dans le controle IdenUser avant sa création
    <input type="text" name="IdenUser" size="5">
    En dernier ya cette partie que je capte pas du tout, ça marche ???
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <script type="text/javascript" >
    Chargement();
    }
    </script>

  15. #15
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Par défaut
    Petit rectificatif:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    car le pb d'une fct javascript, si elle merdouille et bien tu peux pas le savoir directement !!!
    Non car en js tu as aussi les try catch avec cause de l'erreur comme tout autre langage à objet, tu peux donc savoir à tout moment quelle était la cause la cause de l'erreur.

  16. #16
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Du try catch en javascript

    J'vais vite m'appliquer à étudier ça ...

  17. #17
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Ah ouais super cool, je connaissais pas du tout et loin l'idée m'était venue

    Merci bien, comme tjs on en apprend des choses ici.

  18. #18
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Comme tu ne connaissais pas le try catch en javascript, j'en profite pour t'en glisser une petite...
    Tu peux aussi récupérer les propriétés de l'objet exception, comme ceci par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    try
    {
       ...
    }
    catch (e)
    {
       alert(e.message); <-- un peu l'équivalent de e.getMessage() en java
    }
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  19. #19
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2007
    Messages : 48
    Par défaut
    Citation Envoyé par Fench Voir le message
    En dernier ya cette partie que je capte pas du tout, ça marche ???
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <script type="text/javascript" >
    Chargement();
    }
    </script>
    Euh...

    C'est un bout de code-test rsté par erreur...

  20. #20
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    try
    {
       ...
    }
    catch (e)
    {
       alert(e.message); <-- un peu l'équivalent de e.getMessage() en java
    }
    alert(e) suffit...

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [debutant] premiere page jsp
    Par el_harrathi dans le forum Struts 1
    Réponses: 2
    Dernier message: 07/01/2009, 02h00
  2. [Debutant(e)]Appel d'une servlet dans une page jsp
    Par kouadjalain dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 20/07/2004, 15h02
  3. [EJB+JSP+Tomcat] Appel d'une page JSP à partir d'un bean
    Par Hakkou dans le forum Tomcat et TomEE
    Réponses: 8
    Dernier message: 02/06/2004, 15h26
  4. [Débutant][Application web] : context d'une page JSP
    Par silver_dragoon dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 14/02/2004, 11h53
  5. [Débutant] Problème de déconnexion d'une page JSP
    Par amal9 dans le forum Servlets/JSP
    Réponses: 12
    Dernier message: 22/01/2004, 13h40

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