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 :

Récupérer un champ d'une page JSP dans un managed bean


Sujet :

Servlets/JSP Java

  1. #1
    Membre averti
    Femme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations forums :
    Inscription : Janvier 2012
    Messages : 13
    Par défaut Récupérer un champ d'une page JSP dans un managed bean
    Bonjour à tous,
    Je suis débutante en programmation JEE,et je travaille sur un projet JEE avec le framework JSF;seulement je bloque sur un point important qui m'empéche d'avancer
    Le problème est le suivant:
    Je voudrai récupérer la valeur d'un attribut d'un managed bean dans un autre en passant par une page .xhtml:

    Ma première page client.xhtml contient le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <h:column>
                     <h:commandButton image="resources/images/facture.png" action="#{gestionClient.facture(client)}" >
                      </h:commandButton>
                 </h:column>
    La méthode facture dans le managed bean gestionClient est comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
      public String facture(Client clt)
        {
     
           facture.setNumD(clt.getId());
     
     
           return "Facture.xhtml";
        }
    Tout ceci marche jusque la...
    Une fois au niveau de la page Facture.xhtml;je récupère la valeur de NumD comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     <h:form>
                <h:panelGrid columns="3" styleClass="cadre">
                   ID CLient: <h:outputText  value="#{gestionClient.facture.numD}"/>  
     </h:panelGrid>
             </h:form>
    Je souhaite récupérer la valeur afficher et la stocker dans un autre managed bean GestionFacture pour pouvoir réaliser un traitement au niveau de la requéte suivante:

    GestionFacture.java:
    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
     
     private ArrayList<Facture> lesFactures() {
     
            Connection conn = Utilitaire.getConnection();
            ArrayList<Facture> lesfacts = new ArrayList<Facture>();      //lesfacts=lesClits
            Facture fact=null;                  // fact=clt
            try {
                PreparedStatement ps = conn.prepareStatement("select * from facture WHERE NumD='"+facture.getNumD()+"';"); 
                ResultSet rs = ps.executeQuery();
                while (rs.next()) {             
     
     
                    fact=new Facture();
                    fact.setNumF(rs.getInt("NumF"));
                    fact.setMontant(rs.getDouble("Montant"));
                    fact.setPaye(rs.getDouble("paye"));
                    fact.setReste(rs.getDouble("reste"));
                    fact.setNumD(rs.getDouble("NumD"));
     
                    lesfacts.add(fact);
     
                }
            } catch (SQLException e) {
            }
            return lesfacts;
        }

    Merci de m'aider pour que je puisse avancer

  2. #2
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2009
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2009
    Messages : 153
    Par défaut
    si je comprends bien ta question, tu voudrais pouvoir récupérer la référence d'un attribut d'un bean dans un autre?
    si c'est ça ta préocupation, c'est simple: tu n'a qu'a annoté le bean1 dans le bean2 par l'annotation @ManagedProperty(value = "#{bean1}). ainsi, tu pourra acceder à tous les attribut de bean1 dans bean2
    j'espère que c'est ça ton problème. si non , soit plus claire

  3. #3
    Membre averti
    Femme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations forums :
    Inscription : Janvier 2012
    Messages : 13
    Par défaut
    Salut mysianne,
    Merci pour ta réponse j'ai ajouté la propriété ManagedProperty dans le bean(GestionFacture) ou je voudrai récupérer la valeur d'une propriété(id) du bean (GestionClient)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    public class GestionFacture {
     
        @ManagedProperty("#{GestionClient}")
        private GestionClient MAGestionClient;
     
        public GestionClient getMAGestionClient() {
            return MAGestionClient;
        }
     
        public void setMAGestionClient(GestionClient MAGestionClient) {
            this.MAGestionClient = MAGestionClient;
        }

    Au niveau de la requéte j'ai fait ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    
         private ArrayList<Facture> lesFactures() {
           
            Connection conn = Utilitaire.getConnection();
            ArrayList<Facture> lesfacts = new ArrayList<Facture>();      //lesfacts=lesClits
            Facture fact=null;                  // fact=clt
            try {
                PreparedStatement ps = conn.prepareStatement("select * from facture where NumD='"+MAGestionClient.getClient().getId()+"'"); 
                ResultSet rs = ps.executeQuery();
    .....
    Seulement je reçois cette érreur lors de la compilation:

    Impossible d?instancier la classe «beans.GestionFacture».

Discussions similaires

  1. inclure une page jsp dans une page jsf
    Par hadmarin dans le forum JSF
    Réponses: 7
    Dernier message: 07/10/2010, 15h22
  2. Insérer une page JSP dans un DIV avec AJAX
    Par sethi dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 31/03/2010, 21h04
  3. Réponses: 4
    Dernier message: 12/01/2009, 09h25
  4. Contrôle sur les champs d' une pages JSP
    Par amine1980 dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 06/03/2007, 08h38
  5. Forward d'une page JSp dans une frame
    Par srodrigues dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 12/07/2006, 16h32

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