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

Struts 1 Java Discussion :

alert un <bean:message />


Sujet :

Struts 1 Java

  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2007
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 65
    Par défaut alert un <bean:message />
    Bonjour,

    dans une fontion javascript j'ai essayé d'afficher un message en utilisant le <bean:message /> de cette manière:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    alert('<bean:message key="mail.erreur"/>');
    j'ai meme essayer sans guillemets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    alert(<bean:message key="mail.erreur"/>);
    mais toujours j'ai comme resultat <bean:message key="mail.erreur"/> au lieu d'avoir la valeur du key c à dire la chaine "votre mail est invalide".

    que dois-je faire, svp, pour que le javascript puisse analyser le <bean:message /> et affiche son interprétation.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    160
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mars 2008
    Messages : 160
    Par défaut
    Salut,

    simple question, tu as bien mis en haut de ta page
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>

  3. #3
    Membre confirmé
    Inscrit en
    Novembre 2007
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 65
    Par défaut
    en fait c'est fait dans un fichier js

  4. #4
    Membre confirmé
    Inscrit en
    Novembre 2008
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 132
    Par défaut
    essayer de travailler avec Validator de struts au lieu d'utiliser le javascript

  5. #5
    Membre confirmé

    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 153
    Par défaut
    tu ne peux pas utiliser de bean:message dans un fichier js

  6. #6
    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 benneb Voir le message
    tu ne peux pas utiliser de bean:message dans un fichier js
    Effectivement...
    Tu peux par contre utiliser la bibliothèque Struts-Layout et <layout:message> à n'importe quel endroit. C'est peut-être l'occasion de passer à autre chose
    (sans compter que cette bibliothèque est très complète)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    Tu peux aussi mettre le libellé du message dans une variable de scope comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <bean:define id="mailErreur">
       <bean:message key="mail.erreur"/>
    </bean:define>
    et ensuite, passer cette variable en paramètre de la fonction Javascript via une EL, si toutefois tu es en J2EE 1.4 ou plus :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onclick="TaFonction('${mailErreur}');"
    Sinon, comme barchoui te l'a conseillé, tu pourrais utiliser le Validator qui possède une règle pour vérifier la validité d'un email saisi et qui en plus permet d'afficher le message d'erreur dans une popup.

  8. #8
    Membre éclairé Avatar de jamesleouf
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2005
    Messages
    522
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 522
    Par défaut
    je n'ai pas lancer la question mais, il ne pourrais pas stocker la valeur de ce bean dans une String JSP, puis lancer son alert en JS?

  9. #9
    Membre confirmé
    Homme Profil pro
    Ingénieur d'études J2EE
    Inscrit en
    Avril 2009
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Ingénieur d'études J2EE

    Informations forums :
    Inscription : Avril 2009
    Messages : 82
    Par défaut
    J'ouvre à nouveau la discussion, car j'ai rencontré actuellement une difficulté pour récupérer dans un script JavaScript externe, un bean:message d'une JSP.

    Quand le script est dans la page, il n'y a aucun problème. Quand le script est externalisé, c'est une autre paire de manches. Je vais exposer les solutions que j'ai trouvées.

    1) Placer son message dans le value d'un input hidden et le récupérer via son id (j'utilise Prototype, mais un "getElementById() fonctionne aussi) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    JSP:
    <input type="hidden" id="required" value="<bean:message key="error.login.required" />" />
     
    JS:
    alert($("required").value);
    2) Créer un nouveau tag struts qui permet de déclarer une variable javascript globale. Cela évite le JS dans la JSP, ce qui est une bonne pratique il me semble. Pour ma part, j'ai créé un tag qui ouvre la balise <script> et un autre pour déclarer une variable :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    JSP :
    <mylib:javascript>
        <mylib:var name="required"><bean:message key="error.login.required" /></mylib:var>
    <mylib:javascript>
     
    HTML généré :
    <script type="text/javascript">
        var required = "Le champ 'Login' est requis !";
    </script>
     
    JS :
    alert(required);
    Je trouve cette seconde solution vraiment satisfaisante et propre. La première quant à elle surcharge le formulaire en cas de nombreux messages.

    Voilà. Mais c'est mon humble avis

Discussions similaires

  1. [Struts] Récupérer la String d'un <bean:message
    Par worldchampion57 dans le forum Struts 1
    Réponses: 2
    Dernier message: 12/04/2006, 15h21
  2. [struts] bean:message
    Par meli0207 dans le forum Struts 1
    Réponses: 1
    Dernier message: 23/02/2006, 21h23
  3. [struts]i18n et bean:message
    Par Sanberi dans le forum Struts 1
    Réponses: 4
    Dernier message: 24/01/2006, 15h23
  4. [Struts] Problème de bean:message
    Par boukay dans le forum Struts 1
    Réponses: 9
    Dernier message: 21/06/2005, 16h02
  5. [ Struts] pbs avec <bean:message key=.../>
    Par njac dans le forum Struts 1
    Réponses: 3
    Dernier message: 01/12/2004, 14h08

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