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 :

Messages d'erreur dans une page JSP


Sujet :

Servlets/JSP Java

  1. #1
    Membre du Club
    Inscrit en
    Août 2009
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 114
    Points : 55
    Points
    55
    Par défaut Messages d'erreur dans une page JSP
    Bonjour,
    je voulais savoir si vous pourriez me guider sur la manière dont je pourrais créer des messages d'erreurs directement sur la page jsp qui seraient conditionnés par ce que rentre l'utilisateur.
    A titre d'exemple :
    popup qui afficherait un message si l'un des champs est vide ou mal renseignée (format incorrect,etc..)

    Merci

  2. #2
    Membre averti Avatar de welcome_59
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2007
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

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

    Informations forums :
    Inscription : Mars 2007
    Messages : 203
    Points : 352
    Points
    352
    Par défaut
    Par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if("".equals(valeur_saisie)) { //Bien entendu la vérification ne sera probablement pas aussi simple que cela
      out.println("Valeur incorrecte");
    }
    Pourquoi ne pas valider la saisie coté client (Javascript par exemple)? Ce t'éviterait entre autres de faire des tonnes de requêtes inutiles vers le serveur.
    Car si tu valides la saisie coté serveur tu auras au moins une requête par tentative - Si l'utilisateur se trompe 50 fois, le serveur recevra 50 requêtes.
    Lorsque tu valides côté client, s'il se trompe 50 fois, le serveur recevra 50 requêtes de moins.
    SCJP 5 | CAPM

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    476
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 476
    Points : 595
    Points
    595
    Par défaut
    Salut !

    Bonjour,
    je voulais savoir si vous pourriez me guider sur la manière dont je pourrais créer des messages d'erreurs directement sur la page jsp qui seraient conditionnés par ce que rentre l'utilisateur.
    En jsp pure, sans framework web (struts, jsf, ...) ou taglib derrière, tu vas devoir coder beaucoup de trucs pas très marrants (en tout cas, à mon époque, c'était le cas) : le workflow de validation dans ta servlet, les conditions d'affichage d'erreurs dans ta jsp pour chaque champ avec des scriplets ou joyeuseries dans le genre. Je peux que te déconseiller...

    Ce t'éviterait entre autres de faire des tonnes de requêtes inutiles vers le serveur.
    Car si tu valides la saisie coté serveur tu auras au moins une requête par tentative - Si l'utilisateur se trompe 50 fois, le serveur recevra 50 requêtes.
    Lorsque tu valides côté client, s'il se trompe 50 fois, le serveur recevra 50 requêtes de moins.
    Cela dépend de ton appli, de son contexte d'utilisation et des risques à envoyer n'importe quoi.
    Si ton appli est une appli internet où la validité des données est primordiale mais que parallèlement les clients peuvent poster des données qui ne seront jamais contrôlés par le serveur, tu risques d'avoir de sérieux problèmes
    Par ex: via désactivation ou modification des JS ou bien par des appels vers les urls de traitement côté serveur depuis la barre d'adresse du navigateur

    Pour éviter de faire 50 contrôles serveur, tu peux placer deux contrôles : 1 sur le client et 1 sur le serveur.
    Et dans ton exemple, tu ne feras aucune requête au serveur puisque le contrôle côté client suffira.
    Et dans le cas ou client est malicieux et triche dans le workflow en passant par ces stratagèmes comme ceux cités plus haut, tu seras content d'avoir un contrôle serveur qui invalidera sa demande.
    Ils flottent tous en bas

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Je pense que tu cherches à faire des contrôles côté client.
    Tu peux donc utiliser la fonction javascript alert(msg).
    Exemple
    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
     
    <html>
    <head>
     
    <script>
    function checkNom()
    {
        var v = document.forms[0].nom;
        if (v.value == "")
        {
            alert("Vous devez saisir une valeur pour le nom !");
            return false;
        }
        return true;
    }
    function checkAge()
    {
        var v = document.forms[0].age;
        if (v.value == "") 
        {
            alert("Vous devez saisir une valeur pour l'age !");
            return false;
        }
        var exp = new RegExp("^[0-9-.]*$","g");
        if (!exp.test(v.value))
        {
            alert("L'age n'est pas un nombre valide");
            return false;
        }
        return true;
    }
     
    function checkAll()
    {
        if (checkNom() && checkAge()) return true;
        return false;
    }
    </script>
     
    </head>
     
    <body> 
     
    <form onsubmit="return checkAll()">
     
    Votre nom <input type="text" name="nom" value="" onblur="checkNom()"/><br/>
    Votre age <input type="text" name="age" value="" onblur="checkAge()"/><br/>
    <br/>
    <input type="submit" value="Envoyer"/>
    </form>
     
    </body>
    </html>
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Erreur du création d'un objet dans une page JSP
    Par hela.sfar dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 03/08/2012, 16h56
  2. récupération des message d'erreurs dans une jsp
    Par clement42 dans le forum Struts 1
    Réponses: 17
    Dernier message: 23/10/2006, 11h59
  3. Inserer la stack d'erreur dans une page JSP
    Par skunkies dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 25/09/2006, 17h10
  4. [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

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