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 :

injection EJB dans un validateur JSF


Sujet :

Seam Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2003
    Messages : 28
    Points : 29
    Points
    29
    Par défaut injection EJB dans un validateur JSF
    Bonjour,

    je suis en train de faire un validateur JSF. J'utilise également le framework SEAM.

    J'aimerais injecter un EJB dans le validateur.
    J'ai testé avec @EJB, mais cela ne marche pas.
    Pourtant, mon EJB est bien déclaré dans seam avec :
    @Name("MemberManager")
    J'ai également testé de le déclarer dans face-config.xml :

    <managed-bean>
    <managed-bean-name>MemberManager</managed-bean-name>
    <managed-bean-class>com.blabla.MembersManager.impl.MemberManagerBean</managed-bean-class>
    <managed-bean-scope>request</managed-bean-scope>
    </managed-bean>
    Mais rien y fait.

    Merci de votre aide,

  2. #2
    Expert éminent
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Points : 7 679
    Points
    7 679
    Par défaut
    Bonjour,
    Tu peux le faire, mais en passant par une autre méthode validation. Au lieu de créer ton validator qui implémente Validator et le déclarer dans faces-config.xml, etc., tu peux utiliser cette méthode:
    Dans ton managed-bean, tu ajoutes une méthode validateMachin avec la même signature que la méthode validate d'un validator ordinaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    public void validateMachin(javax.faces.context.FacesContext context, javax.faces.component.UIComponent component, java.lang.Object data) throws ValidatorException {
    	:
    	:
    	//Le code de la alidation
    	:
    }
    Ensuite, dans ta page JSF, disons que tu souhaites valider un champ texte, tu fais:
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <h:inputSecret value="#{tonCtrl.champ}" validator="#{tonCtrl.validateMachin}" />

    Et ça se comporte exactement comme un validator ordinaire, à la différence près que ça s'exécute dans le contexte de ton managed-bean, et qu'ainsi tu peux profiter de l'injection de Seam.

    Bonne chance.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2003
    Messages : 28
    Points : 29
    Points
    29
    Par défaut
    Merci pour ta réponse très constructive.

    Je vais tester ça.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2003
    Messages : 28
    Points : 29
    Points
    29
    Par défaut
    J'ai testé, cela marche parfaitement.

    Merci

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

Discussions similaires

  1. Injection d'EJB dans un JSF Managed bean
    Par velocity dans le forum JSF
    Réponses: 1
    Dernier message: 30/05/2013, 12h32
  2. Injection @EJB dans un Managed Beans
    Par Chabanus dans le forum JSF
    Réponses: 17
    Dernier message: 20/05/2010, 01h11
  3. Weblogic 10.0 : injection d'EJB dans managed bean JSF
    Par loic38_01 dans le forum Weblogic
    Réponses: 1
    Dernier message: 05/09/2008, 13h46
  4. [EJB3] Injection @EJB dans le Client Web ne fonctionne pas
    Par warwink dans le forum Java EE
    Réponses: 9
    Dernier message: 04/12/2007, 00h28
  5. Réponses: 4
    Dernier message: 10/09/2006, 10h49

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