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

Seam Java Discussion :

Envoyer un facesmessage en java


Sujet :

Seam Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 572
    Par défaut Envoyer un facesmessage en java
    Bonjour,

    Pour l'instant, je ne sais qu'envoyer des messages globaux comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FacesMessages.instance().add(Severity.level, "message");
    Ce genre de message sera catché par un rich:messages.

    J'aimerais trouver le moyen d'envoyer un message pour un élément particulier, catchable par un rich:message (genre validation de formulaire) pour pouvoir placer chaque message là où il faut.

    En espérant avoir été clair.

    (ps : jboss 4.2.3GA, seam 2.1.1GA, richfaces 3.3.0GA)

    Merci d'avance

  2. #2
    Membre chevronné

    Inscrit en
    Février 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 122
    Par défaut
    tu peux mettre un id en premier ou deuxième parmètre qui correspond au champ sur le quel tu vas mettre un message

    puis le message est affiché avec un h:message for="idduchamp"

  3. #3
    Membre éclairé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 572
    Par défaut
    Je suis passé par ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    import javax.faces.application.FacesMessage;
    import javax.faces.context.FacesContext;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    FacesContext.getCurrentInstance().addMessage("id", 
            new FacesMessage(FacesMessage.SEVERITY_LALA, "summary", "msg"));

  4. #4
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 154
    Par défaut
    Bonjour,

    Pourrais-tu donner plus d'informations sur l'use de rich:message ?

    J'utilise un rich:message pour récupérer une erreur en cas de mauvaise validation du captcha.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <rich:message for="publiqueAdhesionReponseCaptcha" style="color:red;" />
    Dans ma validation du formulaire (après le submit) je lance le test suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    if (!captcha.isCorrect(captchaReponse)) {
        FacesContext.getCurrentInstance().addMessage("publiqueAdhesionReponseCaptcha",
              new FacesMessage(FacesMessage.SEVERITY_ERROR, 
                  "codeAlphanumerique",
                  MessageFactory.getMessage(facesContext,     
                      "codeAlphanumerique").getSummary()));
    }
    Et là, je n'ai rien qui s'affiche à l'écran et dans les logs :
    sourceId=publiqueAdhesionReponseCaptcha[severity=(ERROR 0), summary=(codeAlphanumerique), detail=(La serie de lettres et chiffres en bas de lécran est incorrecte)];|AVERTISSEMENT : les objets FacesMessages ont été placés dans une file d'attente, mais ils ne sont peut-être pas affichés.
    Est-ce que tu pourrais me donner une piste sur la manière de faire ? J'aimerais qu'il s'affiche à l'écran mais là apparemment il ne trouve pas mon composant :s.

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 154
    Par défaut
    Ok j'ai trouvé la solution.

    En fait l'id à passer dans FacesContext.getCurrentInstance().addMessage est l'id du composant tel que présent sur le client, pas celui qu'on écrit à la main dans le composant richfaces.

    Du coup pour moi ce n'est pas publiqueAdhesionReponseCaptcha mais form:publiqueAdhesionReponseCaptcha.

    Ca marche beaucoup mieux !

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

Discussions similaires

  1. POST envoyé par un programme java
    Par T@rka dans le forum Langage
    Réponses: 2
    Dernier message: 25/02/2008, 23h41
  2. SDK pour envoyer des SMS en Java?
    Par LinkinSelim dans le forum Multimédia
    Réponses: 1
    Dernier message: 30/12/2007, 00h12
  3. Comment envoyer un couriel en java ?
    Par kamaldev dans le forum API standards et tierces
    Réponses: 12
    Dernier message: 28/02/2007, 10h49
  4. Comment envoyer un mail en java à Lotus Notes ?
    Par questionneuse dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 06/10/2006, 16h10
  5. [Socket] Chaine entiere a envoyer a un serveur Java
    Par n8ken dans le forum Visual C++
    Réponses: 8
    Dernier message: 08/09/2006, 15h58

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