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 la vue à partir du bean


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juillet 2007
    Messages
    456
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 456
    Par défaut Rafraichissement de la vue à partir du bean
    Salut,

    Je voudrais rafraichir ma vue depuis un thread autre que le programme principal.

    Avec le programme principal, il suffit de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    JavascriptContext.addJavascriptCall(FacesContext.getCurrentInstance(), "javascript:refresh();");
    Mais avec un autre thread, j'ai un nullpointerexception car il arrive pas à récupérer le context.

    J'aurais pu faire aussi un simple appel à la méthode init() de mon constructeur, mais elle aussi récupère le FacesContext du coup j'ai la même exception à son niveau

    Auriez vous une méthode pour faire cela ?

    Merci

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    y a une raison particulière à ne pas utiliser le Thread de la requete, sur lequel est associé le contexte JSF?

  3. #3
    Membre éclairé
    Inscrit en
    Juillet 2007
    Messages
    456
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 456
    Par défaut
    Au fait, je suis connecté à une autre application, quand il y a deconnexion ou reconnexion à celle ci c'est un autre thread qui informe mon programme principal.

    Et c'est la où je voudrais repassé dans le constructeur de mon bean car quand il y a pas de connexion avec l'autre programme, mon bean n'est pas rempli. Du coup quand la connexion est rétablie, je voudrais rafraichir automatiquement ma vue.

  4. #4
    Membre éclairé
    Inscrit en
    Juillet 2007
    Messages
    456
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 456
    Par défaut
    Pour contourner ce problème, j'ai du crée une autre méthode init, qui met à jour mes structures sans récupérer les infos du context(je garde tout simplement les anciennes infos).

    Je laisse le topic ouvert, si quelqu'un à une méthode plus intéressante et non pas du bidouillage, comme ce que je viens de faire

    Merci

  5. #5
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    t'es censé manipuler le FacesContext uniquement dans le cadre d'une requete HTTP. Donc ton thread qui gère les connection et rempli des bean, il dois travailler sur un couche séparée de JSF. Ce sont des objets métiers. Les bean JSF devraient agir en surcouche dessus. C'est pas obligatoire de faire cette séparation (parfois c'est meme du double codage inutile) mais dans ton cas, c'est presque nécessaire je crains.

  6. #6
    Membre éclairé
    Inscrit en
    Juillet 2007
    Messages
    456
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 456
    Par défaut
    merci pour ton conseil,

    Le problème c'est que je suis dans la phase finale de développement de mon application, donc pour changé mon architecture ça risque de devenir un vrai casse tête.

    Pour ne pas refaire la même architecture, je voudrais bien comprendre ce que tu viens d'expliquer.

    Moi j'ai que des beans request, chaque vue est lié à un managed bean (ou backing bean car perso, je vois pas trop la différence, même si on a parlé de ça dans un autre topic) . Je dirais qu'elle est même fortement liée à ce bean. Car ça m'arrive de récupérer des composants de la JSPX, récupérer le context pour faire des redirection ou même l'id de la session ...

    Dans mon cas de figure dois je faire la séparation que vous avez mentionné ?

    Merci

Discussions similaires

  1. Réponses: 14
    Dernier message: 07/05/2008, 21h59
  2. vue à partir d'une autre vue probleme MIN()
    Par toubal_99 dans le forum MySQL
    Réponses: 0
    Dernier message: 02/08/2007, 23h37
  3. créer une vue à partir de 3 autres vue
    Par alliance dans le forum Langage SQL
    Réponses: 1
    Dernier message: 15/05/2007, 17h03
  4. Rafraichissement d'une frame à partir d'une autre
    Par VinceTlse dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 12/08/2005, 11h18
  5. Charger des paramètres à partir de beans
    Par lalakers dans le forum ANT
    Réponses: 1
    Dernier message: 19/05/2004, 18h25

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