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

Wicket Java Discussion :

La "bonne" méthode..


Sujet :

Wicket Java

  1. #1
    Invité
    Invité(e)
    Par défaut La "bonne" méthode..
    Bonjour,

    Je me lance dans Wicket mais la doc n'est pas trés fournie et pleine d'erreurs, je m'adresse donc à vous en espérant trouver parmis vous quelqu'un qui connaise la chose..


    Pour commencer, je me suis crée une application "Startup" avec la page "StartupPage"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public class StartupPage extends WebPage {
     
        private TestBean bean;
     
        public StartupPage() {
     
            bean=new TestBean();
            bean.setWelcome("Welcome text bla bla bla");
     
            add(new Label("test", new PropertyMdel(bean, "welcome") ));
     
        }
    }
    Ca fonctionne sans problème mais ma page "StartupPage.html" doit contenir plus qu'un simple message de Bienvenue.

    - Je devrais donc avoir une propriété par élément à afficher ?
    - Mon bean deviendrais alors plutôt un modèle non ? (je nomme bean la plus petite entité de mon programme (DataBean pour certains)).
    - Si mon "bean" est un modèle ne puis-je pas implémenter une certaine interface ou classe pour concrétiser cela. Si oui quoi ?
    - Suis-je obliger de spécifier le modèle à chaque composant (y à t'il un moyen de donner un modèle par defaut pour toute une page) ?

    Merci

  2. #2
    Membre émérite

    Inscrit en
    Décembre 2004
    Messages
    584
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 584
    Par défaut
    salut

    J'ai un peu une guerre de retard mais je vais tout de même répondre car la question est intéressante et certainement que d'autres se la posent aussi !

    Tu as plusieurs solutions pour lier ta page et ton modèle. De façon générale, elles sont toutes très bien récapitulées sur le wiki :
    http://cwiki.apache.org/WICKET/worki...et-models.html

    En pratique, oui : chaque donnée affichée doit être dans un "model".

    La solution la plus simple, à mon sens, consiste à utiliser un CompoundPropertyModel : tu associes un objet à ta page et ensuite wicket va faire du mapping entre les ids de tes éléments et les attributs/méthodes de ta page (en utilisant la convention javabean, genre un id "name" sera recherché via getName(), puis, me semble t il, via name tout court - perso j'ai toujours des accesseurs).

    Eventuellement, vu que tu parles de data beans, tu as les LoadableDetachableModel qui permettent d'aller directement rechercher en base la donnée à afficher. Et vu qu'on est généralement fainéant, il est possible de chainer les modèles :
    CompoundPropertyModel personModel = new CompoundPropertyModel(new LoadablePersonModel(personId));

    en espérant t'avoir aidé.

  3. #3
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    J'en parle justement dans cet article:
    http://djo-mos.developpez.com/tutori...xplore-models/

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