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 :

Exécuter une méthode sans commandLink ou commandButton


Sujet :

JSF Java

  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2007
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2007
    Messages : 236
    Par défaut Exécuter une méthode sans commandLink ou commandButton
    Bonjour,
    Je me damandais comment est ce que je peux exécuter une méthode pour réinitialiser une propriété dans mon managedbean, à l'intérieur de ma page JSF sans avoir à utiliser les boutons d'action tel que commandLink ou commandbutton. En faisant une recherche, j'ai trouvé <c:set>, que j'ai implémenté ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <c:set var="#{listTranLog}"  value="#{tranLogController.initTranLog}" />
    Mais l'attirbut listTranLog de mon managedbean tranLogController n'est pas initialiser. initTranLog est la méthode charger d'initialiser listTranLog.
    Si vous avez des suggestions ou des conseils pour ce problème, ils sont les bienvenus.
    Merci

  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 : 46
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Bonjour,

    Je ne comprends pas exactement ce que tu souhaites faire au juste. Pourquoi exécuter une méthode pour initialiser une propriété ?

    Il y a plusieurs façons d'initialiser une propriété :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    private String unePropriete = "valeur par defaut";
     
    private String uneAutrePropriete = null;
     
    public String getUneAutrePropriete() {
        if (uneAutrePropriete == null) {
            uneAutrePropriete = "valeur par defaut";
        }
        return uneAutrePropriete;
    }
    ou encore en appelant des méthodes lors de l'initialisation du bean (par ex. avec @PostConstuct...
    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 éclairé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2007
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2007
    Messages : 236
    Par défaut
    Bonjour romaintaz,
    Mon objectif est de réinitialiser ma propriété à chaque fois que ma page JSF est appelé. Merci pour ta réponse

  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 : 46
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Dans ce cas là, pourquoi ne pas déplacer ta propriété dans un bean dont le scope est request ?
    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 actif Avatar de mr1azl
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2011
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 77
    Par défaut
    Bonjour,

    c'est un peu grossier mais tu peux faire :
    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
    	<script type="text/javascript">
     
     
    	function reintialiser() {
     
    		document.getElementById('application:rinit').click();
     
    	}
    </script>
     
    	<body  onload="reintialiser();">
    	<a4j:commandButton id="rinit" style="visibility: hidden"
    							action="#{managedBean.TaMethode}" 
    							reRender="TonComposant" 
    							/>

  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 : 46
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Je n'aurais pas dit grossier, mais "c'est une solution qui marche, mais qu'il ne faut surtout pas faire"
    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

  7. #7
    Membre éclairé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2007
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2007
    Messages : 236
    Par défaut
    Citation Envoyé par mr1azl Voir le message
    Bonjour,

    c'est un peu grossier mais tu peux faire :
    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
    	<script type="text/javascript">
     
     
    	function reintialiser() {
     
    		document.getElementById('application:rinit').click();
     
    	}
    </script>
     
    	<body  onload="reintialiser();">
    	<a4j:commandButton id="rinit" style="visibility: hidden"
    							action="#{managedBean.TaMethode}" 
    							reRender="TonComposant" 
    							/>
    Bonjour,
    Quels risques ou inconvénients avons nous avec la solution de mr1azl?
    Merci encore pour toutes vos réponses

  8. #8
    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 : 46
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Pour plein de raisons.
    La principale, c'est que tu vas construire ta page, mais que ta propriété ne sera pas encore initialisée. Elle ne le sera qu'après un appel ajax réalisé une fois ta page construite et affichée à l'utilisateur. Entre temps, potentiellement plein de code aura utilisé ta propriété non encore initialisée...
    Ensuite c'est crade, c'est difficilement maintenable, ça pose des soucis de performances, etc.

    Surtout que je ne vois pas pourquoi tu ferais un truc aussi lourd alors qu'il existe plein de façons d'initialiser une propriété simplement, comme je l'avais expliqué dans mon précédent post. Est-ce que ces façons de faire ne te suffisent pas ?
    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

Discussions similaires

  1. Réponses: 8
    Dernier message: 29/04/2011, 00h24
  2. Réponses: 2
    Dernier message: 26/01/2007, 10h50
  3. [POO] [Introspection] exécuter une méthode
    Par sir_gcc dans le forum Langage
    Réponses: 3
    Dernier message: 04/12/2006, 19h37
  4. [C#] Exécuter une méthode apsx.cs depuis un ascx
    Par bendj dans le forum ASP.NET
    Réponses: 12
    Dernier message: 12/07/2005, 11h18
  5. [Reflection] Exécuter une méthode donnée d'une classe
    Par schousso dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 03/06/2004, 10h35

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