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 :

[RichFaces] Rerender des composants coté java


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
    Septembre 2007
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 79
    Par défaut [RichFaces] Rerender des composants coté java
    salut tlm,

    dans la doc de Richfaces il figure nullepart comment actualiser le rendement d'un composant en java.
    le rerender c'est ce qui permet d'actualisé un composant dont les valeurs liées ont changés.

    pour l'instant je dispose de 2 moyens pour actualiser un composant :
    soit par un bouton :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    <a4j:commandButton value="update" reRender="Mycomponent" />
     
    <h:outputText id="Mycomponent" value=#{bean.text}/>
    soit par une balise spéciale qui englobe mon composant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    <a4j:outputPanel ajaxRendered="true">
        <h:outputText id="Mycomponent" value=#{bean.text}/>
    </a4j:outputPanel>
    je souhaiterai réaliser ces appels directement dans le code java.
    quel est le code source qui permet de faire cela ?

    remarque: le rerender utilisé ici vien de l'ajax4Jsf y a t-il un autre moyen de re-renderer un composant ?? comment ??

  2. #2
    Expert confirmé
    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
    Par défaut
    Bonjour.
    Veux tu expliquer s'il te plaît ce que tu veux dire par actualiser .. par Java ?

    [edit] càd que dans une application web, c'est le client qui initie une communication, et pas l'inverse ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 79
    Par défaut
    bonjour djo.mos
    actualiser par java c'est à dire coté serveur, en fait voici mon problème :

    je développe un moteur de recherche qui interroge une base de donnée, le résultat des requetes est affiché dans une datatable, l'affichage des résultats devrait s'actualisé en temps réel à chaque lancement d'une nouvelle recherche. donc juste après la récupération des résultats je modifie la valeur de la datatable qui est une liste.
    le rerendering du composant doit se faire juste après, j'ai essayé avec les balises citées précedemment mais le composant se réaffiche une fois sur deux ou bien le plus souvent avant d'avoir fini les requetes de recherche :/

    donc pour etre sûr que la datatable sera réactualisée apres mes requetes je devrais le faire coté serveur juste apres l'obtention des résultats des requetes.

    voila j'éspère que c'est un peu plus clair, sinon je re-explique no souci

  4. #4
    Expert confirmé
    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
    Par défaut
    J'ai pas bien compris, mais tu peux faire un <a4j:poll> qui réactualise périodiquement ta table ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 79
    Par défaut
    je vais voir avec <a4j:poll>

    je n'arrive pas à trouvé un moyen d'éxecuter un rerender sur un composant jsf à partir du code java. y a-til un appel une méthode qui fait ça ?

    au fait c'est quoi la différence avec <a4j:push> je n'ai pas bien cerné l'attribut "eventProducer" exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    <a4j:push reRender="msg" eventProducer="#{messageBean.addListener}" interval="3000"/>

  6. #6
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    tu peux utiliser
    pour un evenement onclick par exemle

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a4j:support event="onclick" action="#{bean.actionToDo}" reRender="msg" />
    dans la methode actionToDo, tu peux faire un traitement particulier et ton composant msg sera réactualisé.

    tu peux egalement le faire avec a4j:commandButton, tu fais le traitement coté java par action="..."

Discussions similaires

  1. [RichFaces] Rerender des composants coté java
    Par mr1azl dans le forum JSF
    Réponses: 5
    Dernier message: 19/05/2011, 12h05
  2. Réponses: 5
    Dernier message: 07/08/2008, 21h35
  3. Réponses: 1
    Dernier message: 14/06/2008, 14h05
  4. Réponses: 4
    Dernier message: 09/10/2007, 09h00
  5. place des composant des une fenetre java
    Par fantomas261 dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 30/04/2007, 22h30

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