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 :

EL pour l'attribut execute de 2 a4j:commandButton


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 114
    Par défaut EL pour l'attribut execute de 2 a4j:commandButton
    Bonjour,

    Voila j'ai deux boutons a4j:commandButton et je souhaite utiliser pour l'attribut execute une EL, avec un actionlistener qui va auparavant mettre à jour la propriété (propriété concernée par l'EL) au niveau du bean. En fait cela fonctionne très bien lorsque je lance la page et que je commence par l'un ou l'autre des boutons.
    Mais le pb intervient lorsque je passe d'un bouton à l'autre, en effet lorsque je passe à un autre bouton je me suis rendu compte que lors du premier clic j'avais encore au niveau de l'execute les infos du précédent bouton.

    Voici mes boutons :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <a4j:commandButton id="ajouter" value="Ajouter" 
    	actionListener="#{administrationController.executeListener}" 
    	action="#{administrationController.ajouter}" 
    	execute="#{administrationController.titres}" />
     
    <a4j:commandButton id="supprimer" value="Supprimer" 
    	actionListener="#{administrationController.executeListener}" 
    	action="#{administrationController.supprimer}" 
    	execute="#{administrationController.titres}" />
    Au niveau de l'execute, "titres" est juste une chaine de caracteres (renseignant les IDS).

    Mon managed bean :
    (j'arrive à différencier mes 2 boutons et à faire un setTitres)
    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
     
    ...
    	public void executeListener(ActionEvent event){
    		String component = event.getComponent().getId();
    		String attribut = (String) event.getComponent().getAttributes().get("execute");
    		System.out.println("======");
    		System.out.println("LISTENER EXECUTE=> "+component);
    		System.out.println("=======");
    		System.out.println("attribut : "+attribut);
    		if (component.equals("ajouter")) setTitres("inputAbrege inputTitre");
    		else if (component.equals("supprimer")) setTitres("selectTitre");
    		else System.out.println("pas dans le if");
    		attribut = (String) event.getComponent().getAttributes().get("execute");
    		System.out.println("attribut2 : "+attribut+" et titre : "+getTitre());
    	}
    ...
    J'ai bien essaye de faire un setTitres=null à la fin de des methodes appelées avec action (ajouter et supprimer), mais cela ne change rien.

    Si qqn à une idée merci par avance.
    Couse1

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2011
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2011
    Messages : 67
    Par défaut
    Si tu veux setter une variable avant de lancer les actions passes par un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a4j:actionparam name="cequetuveux" value="tavaleur" assignTo="#{tonBean.saPropriete}" />
    à l'interieur de ton tag <a4jcommandButton>. Je ne me sers jamais de l'execute ...

    En sachant que dans value, tu mets ce que tu veux comme type sauf un objet que tu as créé (dans ce cas faut passer par un f:setPropertyActionListener).

    Mets un point de debug dans le setter de ton attribut et tu devrais y passer avant d'appeler le(s) action(s).

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

Discussions similaires

  1. [XSD] Equivalent du <choice> pour les attribut
    Par BigOne55 dans le forum Valider
    Réponses: 6
    Dernier message: 14/03/2014, 19h24
  2. Réponses: 7
    Dernier message: 13/02/2006, 17h13
  3. Réponses: 2
    Dernier message: 31/10/2005, 18h30
  4. Réponses: 2
    Dernier message: 22/04/2004, 13h28
  5. [VB6] attendre un événement pour continuer l'exécution
    Par Argonz dans le forum VB 6 et antérieur
    Réponses: 21
    Dernier message: 12/11/2002, 13h08

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