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 :

selectOneRadio et outputText


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 129
    Par défaut selectOneRadio et outputText
    Bonjour à tous
    J'ai une question concernant JSF1.2 et richFaces

    j'ai un outputText en rerender="false"
    et un selectOneRadio

    lorsque je clique sur un élément de selectOneRadio je dois afficher mon outputText...

    <a4j:support/> ne semble pas fonctionner en effet, j'ai une action liée à ce <a4j:support/> qui met mon boolean à true dans le outputText mais le problème est que je dois rafraichir l'ensemble de ma page pour que le outputText apparaisse ...

    est ce que quelqu'un a une idée ?

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

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    En fait, voilà ce qu'il se passe :

    Ton outputText, comme il a un rendered évalué à false, ne va pas être présent (du tout) dans la page HTML générée.
    Or, la réponse à ton appel Ajax va dire "actualise moi l'outputText avec l'id bidule". Mais là, impossible de retrouver cet élément, vu qu'il n'existait pas dans la page initiale !

    L'idée est donc d'encapsuler ton outputText dans un <a4j:outputPanel> par exemple (un <h:panelGroup> pourra faire l'affaire aussi), et de donner l'id de ce composant au reRender de ton <a4j:support>. Ainsi, au moment de la réception de la réponse Ajax, tu vas rafraichir ton composant ainsi que le outputText qui se trouve dedans !
    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 confirmé
    Inscrit en
    Avril 2007
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 129
    Par défaut
    Merci pour l'explication j'avais pas pensé à ça

  4. #4
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 129
    Par défaut
    j'aurais juste besoin de quelques précisions ...
    Si j'ai bien compris :

    * Les éléments de <a4j:outputPanel /> ne sont pas visible à l'affichage de la page ( ça c'est parfait pour moi ) il faut donc rerender le id="id du outputPanel" pour que les éléments apparaissent ?

    * <a4j:outputPanel ajaxRerender="true"/> permet de rerender le <a4j:outputPanel /> même si aucun <a4j:support /> à le id du <a4j:outputPanel /> dans son reRender ?

    * J'ai vu que <a4j:outputPanel layout="inline"/> était un span et <a4j:outputPanel layout="block"/> était un div. est ce que tu pourrais me donner la différence entre les 2 ?

    Je découvre à peine ce composant il à l'air trop bien

    Merci encore

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

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Le composant <a4j:outputPanel> est identique à un <h:panelGroup>, sauf si tu spécifies ajaxRendered="true". Dans ce cas, cela signifie que ton outputPanel sera ajouté automatiquement dans la liste des reRender de toute action Ajax de la page.
    Je déconseille de trop utiliser cet attribut, et de se limiter aux cas vraiment utiles. Par exemple, si tu veux faire un reRender d'un outputPanel contenant un <h:messages/> affichant les messages de validation, là ça peut avoir du sens...

    <span> et <div>, c'est du HTML. Le premier est généralement utilisé pour englober du texte (un paragraphe donc), alors que le second est plus une sorte de boite, utilisée pour structurer ta page.

    Plus d'infos sur ce composant ici : http://docs.jboss.org/richfaces/late...tputPanel.html
    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: 1
    Dernier message: 06/09/2013, 09h09
  2. [JSF] Tooltip ou popup sur un <h:outputText/>
    Par Kcirtap dans le forum JSF
    Réponses: 6
    Dernier message: 02/01/2012, 11h46
  3. h:selectOneRadio utilisation du composant
    Par *alexandre* dans le forum JSF
    Réponses: 3
    Dernier message: 16/08/2006, 22h06
  4. valeurs dans SelectOneChoice selon SelectOneRadio
    Par Romain93 dans le forum JSF
    Réponses: 2
    Dernier message: 20/07/2006, 12h51
  5. [JSF] h:selectOneRadio
    Par stefack dans le forum JSF
    Réponses: 1
    Dernier message: 22/05/2006, 17h05

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