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 :

Rafraichissement de fragments et requestContext


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2006
    Messages
    143
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 143
    Par défaut Rafraichissement de fragments et requestContext
    Dans ma couche contrôleur Java, j'utilise le requestContext pour ajouter un message d'erreur/information à mon composant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    final MessageResolver messageResolver = messageBuilder.source(componentId + ":" + messageId)
    		.code(messageKey).args(args).build();
    		final RequestContext requestContext = RequestContextHolder.getRequestContext();
    		requestContext.getMessageContext().addMessage(messageResolver);
    Comment faire pour rafraichir ce composant ? J'ai testé, mais sans succès ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    RequestContextHolder.getRequestContext().getFlashScope().put(View.RENDER_FRAGMENTS_ATTRIBUTE, new String[] {"id-du-composant-a-rafraichir"});
    J'ai essayé getViewScope() à la place de getFlashScope()... ça ne fonctionne pas non plus.

    Des idées ?

  2. #2
    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 veux rafraichir la vue ..? tu peux montrer le code de la vue?

  3. #3
    Membre confirmé
    Inscrit en
    Juillet 2006
    Messages
    143
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 143
    Par défaut
    J'ai un a4j:button qui effectue une action côté contrôleur qui gère le message etc...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <a4j:commandButton action="updateDecisionsDemandeur"
    									value="#{resourceBundle['bouton.enregistrer']}" onclick="this.disabled=true"
    									oncomplete="this.disabled=false"
    									reRender="decision-affaire-contentieux-table,decision-tabs,#{tabId}-label,#{tabId}-body"/>
    et je cherche à rafraichir un h:form via son id...

    A noter que si j'ajoute l'id du form dans l'attribut reRender, ça fonctionne, mais j'aimerais pouvoir l'automatiser côté Java car ce form est inclu dans un template et donc potentiellement rafraichi par des actions de différentes vues, je voudrais donc éviter d'ajouter systématiquement l'id de ce form dans l'attribut reRender des différents boutons qui seront utilisés.

  4. #4
    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
    ce que tu peux faire aussi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <rich:messages ajaxRendered="true" />
    Si le message ne s'affiche pas c'est il n'est pas présent dans le context.

  5. #5
    Membre confirmé
    Inscrit en
    Juillet 2006
    Messages
    143
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 143
    Par défaut
    J'ai testé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <rich:messages ajaxRendered="true" />
    avec le code JAVA :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    RequestContextHolder.getRequestContext().getFlashScope().put(View.RENDER_FRAGMENTS_ATTRIBUTE, new String[] {"id-form-a-rafraichir"});

    Mais sans succès...

  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 n'a pas besoin d'ajouter le code java, si le message ne s'affiche pas avec ajaxrendered, c'est qu'il n'est pas présent dans le context.

    Ne pas oublier le cycle de vie JSF, dans certaines phases les messages sont réinitialisés.

Discussions similaires

  1. Probleme de rafraichissement d'un BDGrid
    Par marmotte dans le forum Bases de données
    Réponses: 10
    Dernier message: 28/05/2004, 18h07
  2. Rafraichissement de la fenetre pendant le traitement
    Par Bobx dans le forum Composants VCL
    Réponses: 5
    Dernier message: 20/02/2003, 15h13
  3. [VB6] [Datareport] Pb de rafraichissement
    Par Gadoul dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 06/02/2003, 10h06
  4. 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
  5. Timage rafraichissment
    Par Rizzla dans le forum Composants VCL
    Réponses: 5
    Dernier message: 16/09/2002, 17h08

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