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 :

Comment modifier la sélection d'un SelectOneMenu ?


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 44
    Par défaut Comment modifier la sélection d'un SelectOneMenu ?
    Bonjour,
    Comment modifier la sélection d'un SelectOneMenu à partir d'un backing bean et non pas à partir d'un managed bean?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <h:selectOneMenu id="type_interface">
    	<f:selectItem id="S" itemLabel="Standard"/>
    	<f:selectItem id="P" itemLabel="Push"/>
    	<f:selectItem id="R" itemLabel="Répartition"/>
    	<f:selectItem id="V" itemLabel="Virtuel"/>
    </h:selectOneMenu>
    je veux sélectionné la deuxième ligne par exemple <f:selectItem id="P" itemLabel="Push"/>

    Merci d'avance pour vos réponses.

  2. #2
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Il faut lier ton selectOneMenu avec une propriété du bean :

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <h:selectOneMenu id="type_interface" value="#{monBean.choix}">
        <f:selectItem id="S" itemLabel="Standard"/>
        <f:selectItem id="P" itemLabel="Push"/>
        <f:selectItem id="R" itemLabel="Répartition"/>
        <f:selectItem id="V" itemLabel="Virtuel"/>
    </h:selectOneMenu>

    et dans ton bean, il te suffit de modifier la valeur de la propriété choix...
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 44
    Par défaut
    Citation Envoyé par romaintaz Voir le message
    Il faut lier ton selectOneMenu avec une propriété du bean :

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <h:selectOneMenu id="type_interface" value="#{monBean.choix}">
        <f:selectItem id="S" itemLabel="Standard"/>
        <f:selectItem id="P" itemLabel="Push"/>
        <f:selectItem id="R" itemLabel="Répartition"/>
        <f:selectItem id="V" itemLabel="Virtuel"/>
    </h:selectOneMenu>

    et dans ton bean, il te suffit de modifier la valeur de la propriété choix...
    je ne peux pas le faire avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    		HtmlSelectOneMenu type_interface = (HtmlSelectOneMenu) FacesContext.getCurrentInstance().getViewRoot().findComponent("param:type_interface");

  4. #4
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Ton code va te permettre de récupérer le composant JSF dans ton code Java. Mais tu en fais quoi après ?
    Le problème c'est que tu n'affectes pas ta valeur à une propriété (le value="..."), du coup, JSF va "ignorer" la valeur saisie par l'utilisateur.

    En quoi le code que j'ai proposé pose problème ? C'est trop simple ?
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 44
    Par défaut
    Citation Envoyé par romaintaz Voir le message
    Ton code va te permettre de récupérer le composant JSF dans ton code Java. Mais tu en fais quoi après ?
    Le problème c'est que tu n'affectes pas ta valeur à une propriété (le value="..."), du coup, JSF va "ignorer" la valeur saisie par l'utilisateur.

    En quoi le code que j'ai proposé pose problème ? C'est trop simple ?
    En faite moi je veux faire apparaitre une ligne <f:selectItem/> précise à l'utilisateur lors du chargement du formulaire. c'est comme selected="selected" en HTML

  6. #6
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Si tu définis une valeur par défaut à ta propriété de ton bean, alors l'option correspondante sera sélectionnée lors de l'affichage du select. Le code suivant permettra d'avoir l'option "Push" choisie par défaut.

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <h:selectOneMenu id="type_interface" value="#{monBean.choix}">
        <f:selectItem id="S" itemLabel="Standard"/>
        <f:selectItem id="P" itemLabel="Push"/>
        <f:selectItem id="R" itemLabel="Répartition"/>
        <f:selectItem id="V" itemLabel="Virtuel"/>
    </h:selectOneMenu>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    private String choix = "P";
     
    public String getChoix() {
        return this.choix;
    }
     
    public void setChoix(String choix) {
        this.choix = choix;
    }
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

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

Discussions similaires

  1. [XSL] Comment modifier la valeur d'une variable?
    Par sorcer1 dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 17/02/2010, 13h26
  2. [TRichEdit] Comment modifier le style d'une sélection ?
    Par PpPool dans le forum Composants VCL
    Réponses: 2
    Dernier message: 15/11/2005, 10h16
  3. [jar] Comment modifier un fichier jar
    Par newfsch dans le forum JBuilder
    Réponses: 5
    Dernier message: 18/07/2004, 14h25
  4. comment modifier une texture?
    Par tibyann dans le forum DirectX
    Réponses: 6
    Dernier message: 16/06/2004, 15h27
  5. [ClassPath] Comment modifier le classpath d'eclipse?
    Par Elmilouse dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 08/04/2004, 18h32

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