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 :

Valeur attribut action dans un commandButton


Sujet :

JSF Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 142
    Par défaut Valeur attribut action dans un commandButton
    Bonjour,

    Dans un managed bean, j'aimerais récupérer la valeur placé dans l'attribut action d'un commandLink ou commandButton.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <h:commandButton action="back" value="Retour"... />
    Je souhaite dans mon bean détecter que l'action est de type back dans le constructeur, afin de ne pas initialiser les paramètres de ce bean et donc d'enclencher directement le processus de navigation.

    Mon bean est de type request

    Merci d'avance

  2. #2
    Membre expérimenté Avatar de fastdeath124
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Août 2011
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur sécurité

    Informations forums :
    Inscription : Août 2011
    Messages : 117
    Par défaut
    Dans l'attribut action on met le nom d'une méthode préfixée par le nom du ManagedBean. Par exemple si le Bean est MonBean, dans l'attribut action on met :
    action="#{monBean.maMethode()}"
    avec maMethode une méthode du ManagedBean qui retourne un String. Selon la valeur de ce String, on pourra savoir la direction suivante (ce qui sera inscrit dans faces-config.xml)

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 142
    Par défaut
    Oui mais tu peux directement mettre une chaîne de caractère correspondant au résultat. Ensuite ce résultat est interprété via le faces-config pour enclencher la navigation
    Dans ce cas tu ne passes pas par une méthode du bean, mais celui-ci sera tout de même instancié.
    Dans mon cas je veux naviguer vers ma page précédente, donc initialiser les éléments du bean n'est pas nécessaire, c'est pour cela que je veux détecter la valeur de l'attribut action.

    Je pense que c'est possible car, il faut bien que cette valeur passe coté serveur pour être interprété/exécuté.

    Une solution serait de passer un paramètre à mon commandButton,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <h:commandButton action="return">
        <f:param name="action" value="return" />
    </h:commandButton>
    Ce qui est dommage, c'est que ça fait un peu double emploi.

Discussions similaires

  1. attribut action dans un formulaire
    Par philippe6 dans le forum Langage
    Réponses: 31
    Dernier message: 11/08/2012, 02h15
  2. Réponses: 4
    Dernier message: 30/12/2011, 12h04
  3. L'attribut "action" dans un programme PL/SQL
    Par hindou90 dans le forum PL/SQL
    Réponses: 0
    Dernier message: 28/09/2010, 19h11
  4. Multi action dans un commandButton
    Par guilloman dans le forum JSF
    Réponses: 3
    Dernier message: 17/06/2010, 16h56
  5. l'attribut ACTION dans la balise FORM
    Par coco-sup dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 23/02/2007, 12h02

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