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 :

[Conseil] structure du site


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 91
    Par défaut [Conseil] structure du site
    Bonjour,
    je desire creer une page avec une menu deroulant a gauche, et un contenu qui change a droite, en fonction des liens selectionnes..
    C'est exactement comme sur cette page (avec un Panel Menu) : http://livedemo.exadel.com/richfaces-demo/

    Mais sur ce site, TOUTE la page est reloadee lors de la navigation par le menu, meme le menu... travaillant en jsf/ajax, je pense qu'il est possible de ne pas recharger le menu, mais juste l'emplacement "contenu"...

    Est-ce un travail pour Facelets, ou c'est possible de base sans librairie ?
    Je ne suis pas tres connaisseur dans la creation de page internet, encore moins dans la structuration, donc j'aimerais un avis exterieur... a l'epoque de jsp, j'utilisais Struts !

    Merci d'avance..

  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
    L'un des avantages d'Ajax, c'est effectivement de n'avoir qu'à recharger des bouts de pages, et non la page en entier.
    Maintenant, JSF "de base" ne permet pas d'utiliser de l'Ajax (enfin, sans avoir à coder soit même le Javascript). Il faut utiliser une librairie Ajax. Par exemple, avec RichFaces, tu disposes de Ajax4JSF.

    Un exemple d'utilisation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <a4j:outputPanel id="onePanel">
        ...
    </a4j:outputPanel>
     
    <a4j:commandButton action="#{myBean.doSomething}" reRender="onePanel" value="Click me"/>
    Sur cette page, lorsque l'utilisateur cliquera sur le bouton "Click me", la méthode doSomething du bean myBean sera exécutée, puis seul le code HTML contenu dans le panel onePanel sera mis à jour, et non toute la page.

    Cela répond-il à ta question ?
    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é
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 91
    Par défaut
    J'ai oublie de preciser que j'utilisai bien RichFaces, et donc a4f.
    LA methode que tu utilises est tres efficace, je l'adopte a certains endroit du site mais ici, je pense qu'il vaut mieux separer le cadre dans un autre fichier, si c'est possible...car je ne pense pas que mettre tout le contenu du site dans le meme fichier JSP est une bonne idee, non ?

    Ce que j'ai en tete, c'est :
    - Je clique sur le menu de gauche a un endroit
    - Le cadre de droite est charge avec un nouveau .jsp, sans que le reste soit modifie...

    C'est possible ?

  4. #4
    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
    Là ça revient à une problématique propre au HTML :
    * Soit tu utilises une page complète et tu refais des rerenders sur certaines parties de cette page (avec la méthode que je t'ai indiquée).
    * Soit tu utilises une page contenant des frames HTML. Tu n'auras alors qu'à mettre à jour l'une des frames.

    Personnellement, j'utilise la 1e solution, et ça me va très bien
    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

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 91
    Par défaut
    Si j'ai bien compris ce que tu me dis, tu as une page JSP qui contient a peu pres tout le site ?

    Prenons un site avec 2 contenus, une page pour se logger, une page pour souhaiter la bienvenue. Tu crees les 2 pages dans deux panels differents (mais dans le meme jsp) et tu affiches chacun de ces pannels au moment opportun..

    J'ai bien compris ?

  6. #6
    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
    Non pas tout à fait.

    Premièrement, je dispose d'un template (j'utilise Facelets). Ce template me permet de positionner certains éléments fixes dans ma page (mon header, mon footer, mon menu).
    Ensuite, le corps principal de la page va changer en fonction de la partie visible de mon application. C'est géré par les règles de navigation de JSF.
    Toutefois, dans pas mal d'écrans, je fais des re-rendus par Ajax. Par exemple, certains boutons vont permettre d'ajouter / supprimer des éléments dans un tableau. Là, j'utilise Ajax pour faire un rerendu du tableau, plutôt que de réafficher toute la page.

    D'un point de vue structure, je divise beaucoup mes pages JSF en sous-pages.
    Par exemple, j'ai une page request.xhtml, qui va se diviser en request-description.xhtml, request-table.xhtml, request-commands.xhtml, etc.
    La page principale fera des includes (<ui:include .../>) de ces sous-pages.
    Mais cela n'est destiné qu'à faciliter la lisibilité et la maintenance de mon application parce qu'au final, au niveau du client, il n'y a qu'une page HTML.

    Suis-je assez clair ?
    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. structure conseillée pour un site ?
    Par jarailet dans le forum Débuter
    Réponses: 1
    Dernier message: 15/07/2009, 15h23
  2. [Conseils] Structure d'un XML de sérialization ?
    Par jbat dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 13/07/2006, 18h03
  3. [MAVEN2] structure de site
    Par lunatix dans le forum Maven
    Réponses: 5
    Dernier message: 21/03/2006, 14h20
  4. [HTML] Recherche structure de site ...
    Par Kylen dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 08/06/2005, 13h38

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