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

JSF Java Discussion :

Récupérer un objet venant de la vue à travers un beans manager


Sujet :

JSF 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
    Août 2015
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2015
    Messages : 31
    Par défaut Récupérer un objet venant de la vue à travers un beans manager
    Salut!
    j'ai du mal à récupérer un objet retourné par ma liste déroulante à travers mon beans manager.

    ci-dessous le code de ma vue
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <h:selectOneMenu value="#{ptv.terminal}">
     <f:selectItems var="ter" value="#{ptv.listeTerActif}" itemValue="#{ter}" itemLabel="#{ter.numero}" /> 
    </h:selectOneMenu>
     <h:commandButton  id="btn_envoi" actionListener="#{ptv.clic()}" value="VALIDER" class="btn-primary form-control"/>
    ci-dessous le code de mon beans manager

    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
     
    @Named(value = "ptv")               //Nom de mon beans manager
    @RequestScoped
    public class PointVenteController {
     
        //==PROPRIETE==//
        private Terminal terminal=new Terminal();
     
       public Terminal getTerminal() {
            return terminal;
        }
     
        public void setTerminal(Terminal terminal) {
            this.terminal = terminal;
        }
     
     //méthode de test
        public void clic() {
            System.out.println("ter" + terminal.getNumero());
        }
    Quelqu'un peut m'aider? svp

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    ptv.listeTerActif reste bien peuplé lors de la deuxième requête?

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2015
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2015
    Messages : 31
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    ptv.listeTerActif reste bien peuplé lors de la deuxième requête?
    Oui il a bien des valeurs

  4. #4
    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
    Quand on référence un objet dans une liste de sélection, il faut passer par un converter pour récupérer l'instance correspondant à la sélection.

    Peux-tu montrer la classe Terminal ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2015
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2015
    Messages : 31
    Par défaut
    Citation Envoyé par OButterlin Voir le message
    Quand on référence un objet dans une liste de sélection, il faut passer par un converter pour récupérer l'instance correspondant à la sélection.

    Peux-tu montrer la classe Terminal ?
    La voici
    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
     
    /**
     *
     * @author MAKELA Justice Elzauvic
     */
    @Entity
    @XmlRootElement
    @Table(name = "tbl_ter", catalog = "bonappdb", schema = "")
    @NamedQueries({
        @NamedQuery(name = "Terminal.findByEmei",
                query = "SELECT t FROM Terminal t WHERE t.emei=:e")
        ,
        @NamedQuery(name = "Terminal.findByNumero",
                query = "SELECT t FROM Terminal t WHERE t.numero=:numTer")
            ,
        @NamedQuery(name ="Terminal.findByEtat",
                query = "SELECT t FROM Terminal t WHERE t.etat=:etatTer")    
    })
    public class Terminal implements Serializable {
     
        /**
         * Propriétes*
         */
        @Id
        @Column(name = "numero", length = 9)
        @Basic
        private String numero;
        @Column(name = "etat", length = 6)
        @Basic
        private String etat;
        @Column(name = "emei", length = 50)
        @Basic
        private String emei;
        @Column(name = "nomTer", length = 50)
        @Basic
        private String nom;
     
        /**
         * Construteur vide*
         */
        public Terminal() {
     
        }
     
        /**
         * Getters et setters*
         */
        public String getNumero() {
            return numero;
        }
     
        public void setNumero(String numero) {
            this.numero = numero;
        }
     
        public String getEtat() {
            return etat;
        }
     
        public void setEtat(String etat) {
            this.etat = etat;
        }
     
        public String getEmei() {
            return emei;
        }
     
        public void setEmei(String emei) {
            this.emei = emei;
        }
     
        public String getNom() {
            return nom;
        }
     
        public void setNom(String nom) {
            this.nom = nom;
        }
     
     
    }

  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
    Dans tous les cas, il faudra passer par un Converter pour récupérer un objet en relation avec le composant <h:selectOneMenu> (qui au final dans ta page html deviendra un <select>).
    Attention aussi à ta façon de coder le composant, tu as mis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <f:selectItems var="ter" value="#{ptv.listeTerActif}" itemValue="#{ter}" itemLabel="#{ter.numero}" />
    ce qui fait référence à la méthode toString() de l'objet Terminal.

    Avec un Converter, tu peux garder #{ter} pour itemValue, ce sera la fonction getAsString(...) qui déterminera la valeur associée à l'attribut "value" du <select> (html)
    La méthode getAsObject(...) permettra de convertir la valeur String en objet, alors autant être d'accord avec ce que tu as mis dans getAsString(...)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. [JTree] Récupérer l'objet sélectionné
    Par daedric dans le forum Composants
    Réponses: 2
    Dernier message: 01/10/2005, 19h19
  2. [JComboBox] Récupérer l'objet sélectionné
    Par Terminator dans le forum Composants
    Réponses: 3
    Dernier message: 14/09/2005, 12h29
  3. Récupérer un objet d'une liste déroulante
    Par Hell dans le forum C++Builder
    Réponses: 2
    Dernier message: 07/01/2005, 14h59
  4. [servlet][bean]comment récupérer l'objet request
    Par otminou dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 27/09/2004, 14h40
  5. Réponses: 4
    Dernier message: 15/09/2004, 16h52

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