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 :

Problème de rafraichissement de champs


Sujet :

JSF Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 129
    Par défaut Problème de rafraichissement de champs
    Bonjour,

    Je suis actuellement face à un problème plutôt gênant. Je vous explique la situation :

    J'ai un tableau d'élément avec une case cliquable. Quand je clic sur cette case, une fonction me récupere l'id de l'objet présent dans la ligne du tableau, va me faire les requêtes qui vont bien et me construit un objet lambda.
    En même temps, le clic sur la case provoque l'ouverture d'un modalPanel avec des intputText à l'intérieur.

    Chaque inputtext est bindé à un attribut de mon bean, pour ainsi affiché les détails de ma ligne du tableau.
    Seulement voilà, vu que je construit mon objet après l'instanciation du bean, les inputText n'ont pas encore les valeurs correctes (ils sont les valeurs vide de l'objet), résultat, pour que mes inputexts affichent les valeurs, je suis obligé de "rafraichir" ma page, ce qui est plutôt génant étant donné qu'il faut que les informations apparaissent instantanément.

    Je fais donc apel à vous : Si vous avez des astuces pour rafrachir une page, je suis preneur !

    ( J'ai fait une recherche sur le forum et les solutions proposées ne sont pas vraiment adaptées à mon appli )

    Merci d'avance.

  2. #2
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 36
    Par défaut
    Tu utilises quoi comme composants ?
    Parce que j'ai fait un truc un peu similaire (à part que je n'ouvre pas un modalPanel et que c'est assez bidouilleux ), dans lequel j'utilise un <a4j:jsFunction> avec un actionListener pour executer mon action. Ensuite il y a peut être moyen d'utiliser le oncomplete pour ouvrir le modal panel.

  3. #3
    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
    Avec A4J (RichFaces quoi), voilà comment procéder :

    Le clic (qui affichera le popup) va lancer la requête en Ajax (a4j:commandButton ou a4j:commandLink) pour manipuler le bean, puis tu fais un reRender de ton panel, et en oncomplete, tu fais afficher ton panel.
    Un peu comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <rich:modalPanel id="x">
        <a4j:outputPanel id="panelX">
            ... // Là où il y a les inputs.
        </a4j:outputPanel>
    </rich:modalPanel>
    ...
    <a4j:commandButton value="Bla bla" action="#{monBean.faitQuelqueChose}" reRender="panelX" oncomplete="RichFaces.showModalPanel('x);"/>
    Le principe étant de rafraichir le modal panel avant de l'afficher...
    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

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 129
    Par défaut
    Je vais essayer ca Romain et je vous dis quoi.

    Voici mon code pour eclaircir un peu les choses :

    Le lien sur lequel je clic :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <a4j:commandLink value="#{liste.elementName}" rendered="#{liste.render}" action="#{rhBean.showDetails}" oncomplete="Richfaces.showModalPanel('detailBox',{width:430, top:200});">
    			<a4j:actionparam name="idLine" value="#{liste.id}"
    					assignTo="#{rhBean.idLine}"></a4j:actionparam>
    			<a4j:actionparam name="elementType" value="#{liste.flag}" assignTo="#{rhBean.elementType}"></a4j:actionparam>
    			</a4j:commandLink>
    Mon modalPanel :

    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
    19
    <rich:modalPanel id="detailBox" minHeight="500" minWidth="500"
    	height="500" width="500" zindex="2000">
     
    ...
     
    			<a4j:outputPanel>
    			<rich:panelBar>
    				<rich:panelBarItem label="#{lang.detailsCra_generalites}">
    					<h:panelGrid columns="2" style="align:center">
    					<h:outputText value="#{lang.detailsCra_idEmploye}"></h:outputText>
    					<h:inputText value="#{rhBean.monCraDetaille.monCra.personId}" readonly="true"></h:inputText>
     
    ...
    				</h:panelGrid>
    				</rich:panelBarItem>
     
    ...
     
    </rich:modalPanel>
    Voilà.

  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
    Citation Envoyé par M€lK!oR Voir le message
    P.S 1 : L'un de vous à t-il déjà utilisé le a4j:outputPanel ?
    Oui, j'en ai plein Je viens de faire une recherche, dans toute mon appli (elle est grosse, hein), j'en ai 198
    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

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 129
    Par défaut
    J'avais pas vu les détails de ton code tout de suite en faite mais moi je faisait les reRender sur mon modalPanel et pas sur l'a4j:outputPanel du coups, mon modal s'affichait pas quand je cliquai sur mon lien.

    Je viens de faire ta manip et ça marche ! Franchement je sais pas ce que je ferais sans toi Romain, ca fait deux fois que tu me sauves la vie et j'ai l'impression que c'est pas fini

    J'était sur la piste des outputPanel mais j'aurais mis longtemps avant de les utiliser comme ca ...

    Merci infiniment car grace à cette "astuce", je vais pouvoir gérer pleins de choses et surtout avancer !

    Merci encore, t'es un dieu

  7. #7
    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
    Citation Envoyé par M€lK!oR Voir le message
    J'avais pas vu les détails de ton code tout de suite en faite mais moi je faisait les reRender sur mon modalPanel et pas sur l'a4j:outputPanel du coups, mon modal s'affichait pas quand je cliquai sur mon lien.
    Oui, effectivement, j'ai oublié de préciser ce "détail"... Sinon ça ne marche pas, en effet !

    Citation Envoyé par M€lK!oR Voir le message
    Merci encore, t'es un dieu
    Voyons, arrêtons avec les banalités !
    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

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2010] Problème de rafraichissement de champs calculés
    Par thicdorb dans le forum IHM
    Réponses: 4
    Dernier message: 14/10/2014, 13h32
  2. Problème de contrôle de champ input texte
    Par NATHW dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 08/10/2004, 22h48
  3. [SWING] Problème de rafraichissement
    Par david71 dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 24/05/2004, 15h38
  4. [JTree]problème de rafraichissement
    Par peppena dans le forum Composants
    Réponses: 9
    Dernier message: 20/01/2004, 14h06
  5. Toujours un problème de rafraichissement de DBGrid
    Par tripper.dim dans le forum C++Builder
    Réponses: 4
    Dernier message: 09/12/2002, 13h15

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