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

GWT et Vaadin Java Discussion :

Un seul EntryPoint & plusieurs modules


Sujet :

GWT et Vaadin Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2011
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Juillet 2011
    Messages : 73
    Par défaut Un seul EntryPoint & plusieurs modules
    Bonjour,

    J'aimerais réaliser une application GWT en utilisant des modules réutilisables qui ne contiennent pas de points d'entrées, comme le haut de page, le bas de page ou le menu (des modules qui se trouvent dans toutes la pages).
    J'aurai donc un seul point d'entrée où je ne changerai à chaque fois que le corps de page.
    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
    public class Haut extends SimplePanel {
        public Haut() {
            RootPanel root = RootPanel.get();
            root.setSize("1350", "300");
            root.add(this);
     
            Image image = new Image("image/Haut11.gif");
            root.add(image, 208, 10);
            image.setSize("1065px", "212px");
     
            Image image_1 = new Image("image/haut12.gif");
            root.add(image_1, 1105, 216);
            image_1.setSize("51px", "393px");
        }
    }
    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
    public class CorpsIndex extends SimplePanel {
        String chihaja;
        public CorpsIndex() {
            RootPanel root = RootPanel.get();
            root.setSize("1350", "300");
            root.add(this);
     
            final AbsolutePanel absolutePanel = new AbsolutePanel();
            root.add(absolutePanel, 182, 201);
            absolutePanel.setSize("910px", "451px");
     
            Image image_1 = new Image("image/34.gif");
            absolutePanel.add(image_1, 23, 27);
            image_1.setSize("894px", "394px");        
                  }
    }
    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
    public class monProjet implements EntryPoint {
     
        public AcsProjet(){
            RootPanel rootPanel = RootPanel.get();
     
            Haut haut = new Haut();
            rootPanel.add(haut, 69, 10);
            haut.setSize("1213px", "220px");
     
            CorpsIndex corps = new CorpsIndex();
            rootPanel.add( coprs, 234, 254);
            corps.setSize("838px", "449px");
        }
     
        public void onModuleLoad() {
            new monProjet();
        }
    }
    Dans ce cas je n'aurai qu'une seule page HTML (index.html) ou je vais charger à chaque fois un nouveau corps de page différent mais je n'arrive pas à comprendre comment je vais y parvenir...
    Avec une seule page HTML et un seul point d'entrée comment pourrais-je avoir à chaque fois une nouvelle page ?

    Quelqu'un aurait-il des exemples ?

    Merci d'avance pour votre aide.

  2. #2
    Membre confirmé
    Inscrit en
    Mars 2010
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 75
    Par défaut
    Suite a un cliq sur bouton par exemple, pour charger une autre interface, il suffit de récupérer le RootPanel, le vider via la méthode clear() et ajouter au RootPanel le nouveau composant.
    Exemple, je nettoye toute la page html et j'affiche sur cette page un nouveau composant instance d'une classe Authentification

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
                    RootPanel.get().clear();
                    RootPanel.get().add(new Authentification());
    Je te conseille de définir plutot des composants ( classes qui héritent de Composite ) (avec eclipse cliq droit sur le paquage client --> GWT --> Composite ) et a chaque fois changer le composant qui sera affiché sur la page html via la méthode RootPanel.get().add()

    Un composant enveloppe n'importe quel type de Paneau au dedans se définit l'interface

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    230
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 230
    Par défaut
    ok mais je me demande si toute ton applition n'est pas qd même chargé au départ?
    avec GWT2 on n'est pas obligé de charger tout les modules d'un coup (gain en performance lors du premier téléchargement, fichier javascript plus léger ......etc...)

    Peut-être avec l'exemple ce sera plus clair: je développe une RIA avec GWT et j'ai 3 profils (Admin, Client, Fournisseur) et j'ai pour chacun une IHM différente.

    Mon idée était de faire un projet principal avec la fenêtre de login et ensuite ce projet référence les 3 modules(3 IHM différentes) différents(Admin, Client, Fournisseur) et biensûr chaque module est un projet différent avec un module en + en commun pour fournir aux 3 modules des classes utilitaires, widgets, métiers qui sont en communs.
    Scénario; je me connecte à l'appli, la fenêtre de login apparait puis ensuite en fonction du login et de son rôle correspondant , l'application ne charge seulement que le module qui correspond.

    J'aurais aimé avoir votre avis sur ce découpage : sa faisabilité, la meilleure manière de s'y prendre..etc......

  4. #4
    Membre confirmé
    Inscrit en
    Juillet 2011
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Juillet 2011
    Messages : 73
    Par défaut
    Je ne sais pas ce que vous voulez dire par ca :

    Citation Envoyé par valkeke Voir le message

    avec GWT2 on n'est pas obligé de charger tout les modules d'un coup (gain en performance lors du premier téléchargement, fichier javascript plus léger ......etc...)
    c'est évident que tout les modules ne seront pas charger au même temps, et les modules dans mon cas sont des fractions de page html, pour qu'une page html soit charger il faut charger à chaque fois toutes les fractions de page nécessaires (haut de page, bas de page, le corps de page, et le menu sil existe) en utilisant un RootPanel auquel on ajoutera à chaque fois par root.get().add(widget w)

  5. #5
    Membre chevronné
    Profil pro
    Lead Tech Agile
    Inscrit en
    Septembre 2004
    Messages
    316
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Lead Tech Agile

    Informations forums :
    Inscription : Septembre 2004
    Messages : 316
    Par défaut
    Il parle du code splitting.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    230
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 230
    Par défaut
    Oui, je parle de code splitting...

    j'aurais aimé avoir des infos par rapport à mon idée initiale décrite dans mon message précédent.
    des avis, conseils par rapport à l'architecture décrite...
    par exemple : un projet par module, un projet avec ts les modules..etc....

    merci d'avance éclairer ma lanterne

  7. #7
    Membre confirmé
    Inscrit en
    Juillet 2011
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Juillet 2011
    Messages : 73
    Par défaut
    bonjour,
    mercii beaucoup , j'ai réaliser des méthodes qui s'occupe de changer à chaque fois le contenu du RootPanel dans la classe qui implémente EntryPoint, et en cliquant le listner dans les modules séparés appelle la bonne méthode,
    ca marche bien, sauf que si j'ai bcp de pages je ne sais pas est ce que ca va être plus facile de gérer ca !!

Discussions similaires

  1. [1.x] gérer plusieurs modules dans un seul
    Par loukili81 dans le forum Symfony
    Réponses: 9
    Dernier message: 25/04/2009, 23h31
  2. [OC4J 9.0.2] plusieurs modules clients dans application.xml
    Par Mokhtar BEN MESSAOUD dans le forum Autres
    Réponses: 2
    Dernier message: 11/02/2005, 10h18
  3. [C#] Une seule méthode pour plusieurs composants
    Par niPrM dans le forum Windows Forms
    Réponses: 8
    Dernier message: 01/06/2004, 14h41
  4. Une seule table VS plusieurs tables
    Par LostControl dans le forum Requêtes
    Réponses: 1
    Dernier message: 11/08/2003, 10h56

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