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 :

Wicket plusieurs FeedBackPanel


Sujet :

Wicket Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2007
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 112
    Par défaut Wicket plusieurs FeedBackPanel
    Salut,

    Mon problème est plutôt simple, j'utilise Wicket et je voudrais afficher un message de retour, grâce à un feedBackPanel, à deux endroits différents (en haut et bas de page).
    Voici un bout de code wicket :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <wicket:panel>
    blablabla
      <div wicket:id="feedback"></div>
    blablabla
       <div wicket:id="feedbackBis"></div>
    </wicket:panel>
    Les deux messages s'affichent mais l'un en dessous de l'autre, malgré le blablabla entre les deux.

    J'ai essayé d'utiliser un container sans succès.

    Quelqu'un saurait-il m'expliquer comment faire ?

    Merci d'avance pour votre aide.

  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
    bonjour

    rapidement car je n'ai malheuresement guère de temps

    il y a un constructeur de FeedbackPanel qui prend un "MessageFilterer". Ce filtre a une méthode accept qui prend un FeedbackMessage.

    Pour savoir si un feedback message a déjà été affiché, appeler la méthode isRendered sur celui ci => il faut donc se créer le filtre qui va bien.

    A noter également que wicket propose par défaut un filtre pour les messages liés à un webmarkup container précis.

    Enfin, l'ordre d'ajout du feedback message à son conteneur peut jouer : si jamais un message est d'abord affiché dans un feedback panel "attrape tout - non spécifique à un conteneur" et non dans le panel dédié à ce conteneur, ajouter les feedback panel dans les derniers éléments de leur conteneur respectif (wicket parcourt l'arbre des composants pour trouver le Feedback panel qui va bien : le premier qui accept un message l'affiche une première fois).

    Disclaimer : pseudo code de partout

    si besoin, je devrai pouvoir donner plus d'élements ce soir/ce we

    ++

  3. #3
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2007
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 112
    Par défaut
    merci des infos,

    je ne pense pas que l'utilisation de filtres soit nécessaire dans mon cas. Je cherche juste à afficher 2 fois le même feedback !

    J'ai essayé d'ajouter des conteneurs spécifiques pour chacun de mes fbp, d'en ajouter un seul, de les positionner à différents endroits, de les appeler à différents endroits....les fbp s'affichent toujours l'un juste après l'autre

  4. #4
    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
    en effet, c'est bien différent, erf, ça m'apprendre à lire rapidement

    pour ton problème, euh, il est tout simplement très étrange

    peux tu poster le code java et wicket stp ?

    je suspecte également que ton code exécuté soit avec une autre version du fichier html: peux tu faire une erreur dans le code html (genre taper wicketid au lieu de wicket:id) pour être sûr que ce soit le bon fichier qui est pris en compte ? Et inversement: changer un id dans le code java.

  5. #5
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2007
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 112
    Par défaut
    après un peu de sélection dans le code (application JEE ) voila le java impliqué
    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
    19
    20
    //mon 1er feedback
    FeedbackPanel feedback = new FeedbackPanel("feedback");
    feedback.setOutputMarkupId(true);
    add(feedback);
    //le conteneur qui ne change pas grand chose !
    feedbackPanelContainer = new WebMarkupContainer("feedbackPanelContainer");
    add(feedbackPanelContainer);
    feedbackPanelContainer.add(feedback);
     
    //mon second feedback
    FeedbackPanel feedbackBis = new FeedbackPanel("feedbackBis");
    feedbackBis.setOutputMarkupId(true);
    add(feedbackBis);
    //idem
    feedbackBisPanelContainer = new WebMarkupContainer("feedbackBisPanelContainer");
    add(feedbackBisPanelContainer);
    feedbackBisPanelContainer.add(feedbackBis);
     
    if(true) myClass.this.feedbackPanelContainer.info("true");
    else myClass.this.feedbackPanelContainer.info("false");
    voici le code wicket, pareil les conteneur sont indiqués mais le résultat est le même sans eux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <wicket:panel>
    <div wicket:id="feedbackPanelContainer">
         <div wicket:id="feedback"></div>
    </div> 
    <div class="form">
         <form wicket:id="form"></form>
    </div>
    <div wicket:id="feedbackBisPanelContainer">
         <div wicket:id="feedbackBis"></div>
    </div>
    </wicket:panel>
    Et malheureusement ce n'est pas une erreur de fichier html, l'appel se fait sur la bonne page !

  6. #6
    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
    re

    ton code est pas tip top, les FeedbackPanel sont ajoutés au conteneur courant et au WebMarkupContainer.

    ceci dit, en m'en inspirant, voici ce que j'ai fait :
    TestPage.java
    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
    19
    20
    21
    22
     
    public class TestPage extends WebPage {
     
    	public TestPage() {
     
    		FeedbackContainer feedbackContainer = new FeedbackContainer(
    				"feedbackContainer");
    		add(feedbackContainer);
    		feedbackContainer.info("bar");
    	}
     
    	static class FeedbackContainer extends Panel {
     
    		public FeedbackContainer(String id) {
    			super(id);
    			FeedbackPanel feedback = new FeedbackPanel("feedback");
    			add(feedback);
    			FeedbackPanel feedbackBis = new FeedbackPanel("feedbackBis");
    			add(feedbackBis);
    		}
    	}
    }
    TestPage.html
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <html>
        <body>
            <wicket:container wicket:id="feedbackContainer">
            </wicket:container>
        </body>
    </html>
    et pour le panel
    TestPage$FeedbackContainer.html
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <wicket:panel>
    	avant
        <div wicket:id="feedback">
        </div>
        au milieu
        <div wicket:id="feedbackBis">
        </div>
    	après
    </wicket:panel>
    en affichage, j'obtiens:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    avant
     
        * bar
     
    au milieu
     
        * bar
     
    après
    est ce différent de ce que tu veux/obtiens ?

    ++
    joseph

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 01/10/2009, 15h58
  2. comment gerer plusieurs connexions client/serveur
    Par naili dans le forum C++Builder
    Réponses: 3
    Dernier message: 14/08/2002, 16h58
  3. Plusieurs scenes
    Par logramme dans le forum DirectX
    Réponses: 2
    Dernier message: 11/08/2002, 14h02
  4. Génerer automatiquement plusieurs fichier .doc
    Par brunovitch dans le forum QuickReport
    Réponses: 3
    Dernier message: 09/07/2002, 08h19
  5. Shortcut avec plusieurs touches
    Par scorpiwolf dans le forum C++Builder
    Réponses: 4
    Dernier message: 06/07/2002, 15h57

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