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 :

passage d'une methode avec argument


Sujet :

JSF Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 94
    Points : 30
    Points
    30
    Par défaut passage d'une methode avec argument
    est-il possible de passer en action d'un boutton une methode avec argument comme ici si non comment je pourai faire
    merci

    <h:commandButton id="btn_date_ok" styleClass="vert" type="button" title="Afficher les statistiques" value="OK" tabindex="2" action="#{caisseRegionaleStatActions.load(inp_date_stats_cr)}"/>

  2. #2
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2002
    Messages
    705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 705
    Points : 393
    Points
    393
    Par défaut
    C'est trop complexe à faire; il faut surchargée une classe (voir dans le wiki myfaces).

    Tu peux ajouter une attribut à ton bouton par contre, et le récupérer dans ton évènement. Ou avoir une autre approche (c'est un peu le problème de JSF il faut penser comme eux).

  3. #3
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 94
    Points : 30
    Points
    30
    Par défaut
    en fait il faut que je recupère un input de la meme page et l'envoyer ves le bean je pense que c le tag <f:param> mais je ne sais pas comment ca marche
    merci

  4. #4
    Expert éminent
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Points : 7 679
    Points
    7 679
    Par défaut
    Je comprends pas bien ton problème là skanderb :
    - Ou bien t'as un seul input à récuperer dans ton backing bean, et alors tu l'attache à un attribut de ce même bean !
    - Ou bien t'en as un par ligne d'une table par exemple, et un bouton pour chaque ligne qui te dirige vers une page dépendant de la ligne choisie !
    Dans ce cas, essaies de voir du coté de DataModel et getRowData !

  5. #5
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 94
    Points : 30
    Points
    30
    Par défaut
    j'au juste un seul input.
    Comment faire pour le recuperer dans mon bean

  6. #6
    Membre régulier Avatar de progamer54
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    242
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 242
    Points : 120
    Points
    120
    Par défaut
    essaye ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <h:commandLink action="#{Controller.methode}">
      	<f:param name="nparam" value="#{tavalue}"/>
    	lien
     </h:commandLink>
    et pour récupérer la valeur dans ta méthode:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    FacesContext context = FacesContext.getCurrentInstance();
    String param=(String)context.getExternalContext().getRequestParameterMap().get("nparam");
    tu peux mettre plusieurs param a la suite si tu veux.

    Sinon là c'est un commandLink , mais ça marche pareil avec commandButton

  7. #7
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 94
    Points : 30
    Points
    30
    Par défaut
    merci

  8. #8
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 94
    Points : 30
    Points
    30
    Par défaut
    la variable #{tvalue} represente quoi

  9. #9
    Expert éminent
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Points : 7 679
    Points
    7 679
    Par défaut
    Citation Envoyé par skanderb
    la variable #{tvalue} represente quoi
    Non, toi expliques nous exactement ce que tu veux faire et ou ça bloque pour qu'on puisse t'aider !

  10. #10
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 94
    Points : 30
    Points
    30
    Par défaut
    tout ce que je veus c recuperer la valeur d'un input pour pour l'utiliser dans une methode d'un bean le problème est que je ne sais pas comment faire ça bloque dés le début j'ai compris maintenant comment ça fonctionne mais je ne comprend pas comment la valeur va être récupérée ds le bean

  11. #11
    Expert éminent
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Points : 7 679
    Points
    7 679
    Par défaut
    D'accord, il va falloir recommencer dès le départ :

    dans to bean :
    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
     
    public class MyBean {
      private String champ;
     
      public String getChamp(){
        return champ;
      }
     
      public void setChamp(String champ){
        this.champ = champ;
      }
     
     
      public String action(){
        //tu fais ce que tu veux avec champ
         // et tu retournes un String pour passer à une autre vue !
      }
    }
    Tu declares MyBean comme managed bean dans faces-config.xml avec le nom mybean par exemple,
    Et dans ton JSF :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <h:form>
      <h:inputText value="#{mybean.champ}"/>
      <h:commandButton value="OK" action="#{mybean.action}"/>
    </h:form>
    That's all Folks !

  12. #12
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 94
    Points : 30
    Points
    30
    Par défaut
    et y apas besoin de <f:param???

  13. #13
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 94
    Points : 30
    Points
    30
    Par défaut
    ah g oublié de dire que le champ n'etait pas un attribu de mon bean

  14. #14
    Membre régulier Avatar de progamer54
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    242
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 242
    Points : 120
    Points
    120
    Par défaut
    c'est vrai que si tu veux juste transmettre la valeur d'un input , en général on fait un bean qui représente ton formulaire, ou bien tu ajoute les champs de ton formulaire dans ton bean. Bref comme viens de te dire Modjo.



    Sinon avec la méthode que je t'ai donné , essaye en mettant :

    #{x.value}

    a la place de tvalue. En ayant avant donné 'x' comme id de ton input (id="x") . Mais ça je sais pas si ça marche.J'ai jamais essayé, en général j'ai un bean avec les attributs pour les champ du formulaire.

  15. #15
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 94
    Points : 30
    Points
    30
    Par défaut
    Bon g fait ce que vous m'avez dit et j'ai mis l'attribu dans mon bean mais mon bouton ok ne fait rien.


    <h:inputText id="inp_date_stats_cr" maxlength="10" tabindex="1" value="#{caisseRegionaleStatActions.date}" title="Entrez ici la date de vos statistiques">
    <f:convertDateTime pattern="dd/MM/yyyy" />
    </h:inputText>

    <h:commandButton id="btn_date_ok" styleClass="vert" type="button" title="Afficher les statistiques" value="OK" tabindex="2" action="#{caisseRegionaleStatActions.load}" />

  16. #16
    Expert éminent
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Points : 7 679
    Points
    7 679
    Par défaut
    C'est quoi le résultat que retourne caisseRegionaleStatActions.load() ?

  17. #17
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 94
    Points : 30
    Points
    30
    Par défaut
    un String

  18. #18
    Expert éminent
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Points : 7 679
    Points
    7 679
    Par défaut
    Je le sais puisque c'est une action ! Je veux plutôt savoir la valeur de retour : null, "hahi", "barra", etc. !

    Je voulais le savoir pour te demander ensuite si tu avais declaré un cas de navigation traitant cet outcome dans faces-config.xml !

  19. #19
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 94
    Points : 30
    Points
    30
    Par défaut
    je ne l'avai pas declaré dans le faces-config je suis entrain d'essayer je v voir si ça marche si c le cas t un roi

  20. #20
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 94
    Points : 30
    Points
    30
    Par défaut
    t pas encore un roi
    voila faces-config

    <navigation-rule>
    <from-view-id>*</from-view-id>
    <navigation-case>
    <from-action>#{caisseRegionaleStatActions.load}</from-action>
    <from-outcome>load_stat_caisse_regionale</from-outcome>
    <to-view-id>/WEB-INF/jsp/cr/stat/cr_stat.jsp</to-view-id>
    </navigation-case>
    </navigation-rule>

    je c pas le bouton ne réagi pas

Discussions similaires

  1. Binding sur une methode avec un argument dynamique?
    Par takinelinfo dans le forum Windows Presentation Foundation
    Réponses: 5
    Dernier message: 19/05/2011, 14h39
  2. Axis2 : exposer une methode avec comme argument String[][]
    Par Morbo dans le forum Services Web
    Réponses: 2
    Dernier message: 23/09/2009, 10h32
  3. Réponses: 3
    Dernier message: 09/08/2006, 11h58
  4. [Reflection] Retrouver une methode avec des parametres primitifs
    Par rozwel dans le forum API standards et tierces
    Réponses: 9
    Dernier message: 06/02/2006, 15h39
  5. creer une fonction avec arguments
    Par niglo dans le forum ASP
    Réponses: 3
    Dernier message: 03/06/2005, 08h04

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