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 :

[Ajax4jsf] Client riche


Sujet :

JSF Java

  1. #1
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    509
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 509
    Par défaut [Ajax4jsf] Client riche
    Bonjour,
    Je dois réaliser une appli web se rapprochant au maximum d'un client lourd.
    Nous utilisons JSF et une librairie propriétaire apportant des composant avancé.
    Reste le probleme de la mise a jour de certains composants, sans forcement raffraichir toute la page (fonctionnement un peu trop "web") .

    Partons d'un exemple simple, j'ai un menu à gauche qui selon le menu choisi, mets a jour la parti (DIV ?) centrale de l'appli.
    J'ai essayer avec des DIV et la lib js prototype.js, au premier abord ca semble marché, mas pour de multiple raison ce n'est pas utilisable.


    Je me penche donc sur ajax4JSF qui a l'air de correspondre a mes besoins.
    J'aimerais savoir si selon vous, c'est effectivement le cas et si oui dans le cadre de mon exemple comment vous y prendriez vous pour qu'a partir d'un menu a gauche la partie de droite se mette a jour avec le contenu d'un page jsf?

    Si vous avez d'autres suggestion niveau lib, framework ou autre je suis preneur!

    D'avance merci.

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    509
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 509
    Par défaut
    Bon je crois comprendre qu'avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a4j:commandLink reRender="someData" action="#{bean.action1}" value="Link"/>
    J'ai le raffraichissement de la zone "someData" apres action1 !
    Mais dans ce cas, je pense qu'il faut construire dynamiquement le contenue à placer dans some data? imaginons qu'il se trouvais une table et que je voudrais a la place un formulaire ? est ce je dois via le code supprimer la table et ajouté le formulaire créé dynamiquement ?

    Sachant que j'ai deja des jsp definissant mon formulaire et mon tableau j'aimerais pouvoir inserer ces jsp dans someData, mais ca m'a l'air compromis via ajax4jsf , je me trompe ?

    Dsl mais je debute en JSF et je decouvre ajax4jsf, autant dire que pou rle moment je suis dans le flou !!

  3. #3
    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
    ajax4jsf rafraichit un composant et ses fils.

    dans l'action de a4j support ou a4j:commandLink, tu mets à jour une valeur booléenne que tu va utiliser dans l'attribut rendered du composant à afficher ou supprimer..

  4. #4
    Membre éclairé Avatar de VirageGroup
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 81
    Par défaut
    Je serais tenté de faire quelque chose du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <a4j:commandLink reRender="someData" action="#{bean.action1}" value="Link"/>
     
    <h:panelGroup id="someData">
         <h:panelGroup id="myDataTable" rendered="#{myBackingBean.myDataTableRendered}">
              <jsp:include page="/blabla/myDataTable.inc.jsp" />
         </h:panelGroup>
     
         <h:panelGroup id="myForm" rendered="#{myBackingBean.myFormRendered}">
              <jsp:include page="/bliblou/myForm.inc.jsp" />
         </h:panelGroup>
    </h:panelGroup>
    où l'objet myBackingBean contient deux methodes:
    isMyDataTableRendered() et isMyFformRendered()

    VG.

  5. #5
    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
    ouiii ça me semble juste.
    Essaye si tu as des questions n'hésite pas..

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    509
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 509
    Par défaut
    Ok merci pour l'exemple, je comprend mieux le principe de ajax4jsf, dans mon cas il faut que bean.action1 modifie myFormRendered à true , le JSF "rendra" alors le formulaire et a4j l'inserera dans someData , je me trompe ?

    Si le rendu du formulaire il y a du javascript sera t'il executé ?

    Quoi qu'il en soit je vais essayé, j'aurais ainsi les reponses a mes questions.
    Merci , j'aurais surement d'autres questions

  7. #7
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    509
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 509
    Par défaut
    Ca fonctionne bien, mais j'ai un probleme.

    Le composant qui est raffraichit est un composant proprietaire, je ne connais donc pas son fonctionnement.
    Lorsque il est rafraichit via la requete ajax de a4j il perds sa mise en page (il s'agit d'un tableau).

    Je cherche donc a savoir pourquoi.Pour le moment je m'oriente vers du javascript qui initialiserait le tableau.

    Est ce que vous sauriez si le javascript inclu dans la reponse est réinterpreté lors de la reception de la response à la requete ajax ? sinon comment faire pour qu'ils le soient ?

  8. #8
    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
    essaye de le mettre à l'intérieur d'un a4j:outputPanel!

Discussions similaires

  1. Execution d'un client riche pour EJB
    Par pedouille dans le forum Wildfly/JBoss
    Réponses: 1
    Dernier message: 04/11/2006, 18h30
  2. [RCP] Initialisation Spring Client Riche
    Par tatemilio2 dans le forum Spring
    Réponses: 1
    Dernier message: 19/09/2006, 08h52
  3. Client lourd - client lerger - client riche
    Par xtiand4 dans le forum Développement
    Réponses: 3
    Dernier message: 06/07/2006, 00h09
  4. [Architecture] appli en intranet avec client riche
    Par nma dans le forum Développement Web en Java
    Réponses: 18
    Dernier message: 22/01/2006, 15h16
  5. [swing] swing et le client riche facile (JDNC)
    Par sse dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 14/12/2005, 09h30

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