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 :

if dans JSP avec paramètre


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2013
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2013
    Messages : 41
    Par défaut if dans JSP avec paramètre
    Bonjour,

    Je voudrais faire une page de login, et si le login est incorrect afficher un message d'erreur. J'ai pensé utilisé une condition dans mon jsp :
    si log= false afficher l'erreur

    Mais je ne sais pas comment je peux récupérer le log de ma servlet. J'ai pensé à faire session.setAttribute(log) et puis dans la jsp faire request.getAttribute(log). Mais apparemment il ne reconnait pas la méthode getAttribute.

    Voici 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
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
      <title>Reservation de voiture</title>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
    </head>
    <body>
    <div>
      <fieldset>
        <legend>Authentification</legend>
          <form action ="/authentification" method ="post">
            <p>
              <%boolean log = request.getAttribute("log"); %>
              <% if (log == false) { %>
                <label id="error">L'adresse e-mail ou le mot de passe n'est pas correct </label>
              <% } %>
            <table>
              <tr>
                <td><label>Login : </label></td>
                <td><input type="text" name="login" id="login"/></td>
              </tr>
              <tr>
                <td><label>Mot de passe : </label></td>
                <td><input type="password" name="mdp" id="id"/></td>
              </tr>
            </table>
            <input type="submit" value ="Soumettre"/>
            </p>
          </form>
      </fieldset>
    </div>
    </body>
    </html>
    Merci !

  2. #2
    Membre chevronné Avatar de freddou17
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2013
    Messages
    341
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2013
    Messages : 341
    Par défaut
    Salut utilises getParameter(log) dans ta jsp?

    ++

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2013
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2013
    Messages : 41
    Par défaut
    Voici la 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
    21
    22
    23
    24
    25
    26
    @Controller
    public class EmployeController {
     
     
        @RequestMapping(value="/login", method = RequestMethod.GET)
        public ModelAndView login(ModelMap model) {
            model.addAttribute("log", true);
            return new ModelAndView("login");
        }
     
        @RequestMapping(value = "/authentification", method = RequestMethod.POST)
        public String authentification(ModelMap model,
                                       @RequestParam(value="login") String login, @RequestParam(value="mdp") String mdp){
     
            try {
                Employe employe = EmployeData.authentification(login, mdp);
                System.out.println(":"+employe.getPrenom());
                return "menu";
            }
            catch(Exception e){
                System.out.println(e.getMessage());
                model.addAttribute("log",false);
                return "login";
            }
        }
    }
    J'ai essayer getParameter mais il ne reconnait pas non plus la méthode

    J'ai essayé avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <c:if test="${log}==false">
                Identifiant ou mot de passe incorrecte
                </c:if>
    le if ne marche par me le log est bien récupérer

  4. #4
    Membre Expert
    Avatar de eulbobo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2003
    Messages : 786
    Par défaut
    La méthode request.getAttribute(String) renvoyant un Object, cette ligne ne devrait pas compiler

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    boolean log = request.getAttribute("log");
    Il faudrait ajouter un cast correct (et si possible limiter l'autoboxing, c'est coûteux pour pas grand chose et dangereux car générateur de NullPointerException difficiles à retrouver)

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2013
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2013
    Messages : 41
    Par défaut
    Qu'est ce que l'autoboxing?

    Je suppose que en castant ça doit donner ça : <%boolean log = ((Boolean) request.getParameter("log"));%>

    Le problème c'est que IntelliJ me dit : Cannot resolved method getParameter("log")

    est ce que je dois ajouter quelque chose au début du fichier jsp pour dire que request va être utilisé?

    Merci de vos réponses !

  6. #6
    Membre Expert
    Avatar de eulbobo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2003
    Messages : 786
    Par défaut
    J'ai mis getAttribute, pas getParameter :p


    L'autoboxing, c'est la capacité de conversion automatique d'un type primitif vers son wrapper objet correspondant

    En gros, c'est le fait de pouvoir faire : Integer i = 2; plutôt que Integer i = Integer.valueOf(2); ou new Integer(2)


    En passant un boolean dans ta méthode setAttribute, ton type boolean est converti automatiquement en Boolean, et quand tu le récupères en demandant un type boolean, il est reconverti dans le type primitif correspondant.

  7. #7
    Membre Expert Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Par défaut
    Salut,
    peux-tu nous montrer la servlet ?

    Eric

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

Discussions similaires

  1. Affichage dans JSP avec Struts 2
    Par fruwen7 dans le forum Struts 2
    Réponses: 0
    Dernier message: 10/09/2012, 12h20
  2. Importer une classe java avec des paramétres dans JSP
    Par sky88 dans le forum Servlets/JSP
    Réponses: 18
    Dernier message: 30/06/2011, 10h20
  3. Réponses: 2
    Dernier message: 08/12/2007, 11h16
  4. appeler une méthode avec paramètre dans une page JSP
    Par javasmif dans le forum Struts 2
    Réponses: 1
    Dernier message: 06/12/2007, 10h48
  5. Date nulle dans une requete paramétrée avec TParameter
    Par denrette dans le forum Bases de données
    Réponses: 3
    Dernier message: 16/06/2004, 08h37

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