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 :

Commandlink avec parametre


Sujet :

JSF Java

  1. #1
    Membre éclairé
    Inscrit en
    Mars 2005
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 226
    Par défaut Commandlink avec parametre
    J'ai un PanelGroup qui est complété avec un backing bean. Il contient des panels grids qui contiennent eux même une liste de commandlink. A chaque commandlink j'associe un param pour pouvoir récupérer l'id. Mes données s'affiche correctement mais quand je clique sur un lien il ne se passe rien....

    Voici le code jsp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <div class="formCadre">
                            <h:panelGroup binding="#{TerminalPool_1.panelCadre}"/>
                           </div>
    Voici le code 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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
     
    private HtmlPanelGroup panelCadre = new HtmlPanelGroup();
     
    public void buildHierarchy(final Group group, final Acceptor acceptor) {
            getTree().clear();
            path.clear();
            final List<Group> groups = getHierarchy(group, acceptor);
            panelCadre.getChildren().clear();
     
            for (Group g : groups) {
                if (0L == g.getId()) {
             panelCadre.getChildren().add(createList(manager.getGroups(getSessionBean().getCurrentAcceptorId())));
                } else {
                    panelCadre.getChildren().add(createList(manager.getChilds(g.getId())));
                }
            }
        }
     
    public HtmlPanelGrid createList(final List<Group> groups) {
            final HtmlPanelGrid list = new HtmlPanelGrid();
            list.setStyleClass("panelList");
     
            final ExpressionFactory factory = getApplication().getExpressionFactory();
            final ELContext elContext = FacesContext.getCurrentInstance().getELContext();
            final MethodExpression linkNextAction = factory.createMethodExpression(elContext,
                    "#{TerminalPool_1.linkNextAction}", String.class, new Class[]{});
     
            HtmlCommandLink link;
            UIParameter param;
            for (Group g : groups) {
                link = new HtmlCommandLink();        
                link.setTitle(g.getDescription());
                link.setActionExpression(linkNextAction);
                link.setValue(g.getName());
     
                param = new UIParameter();
                param.setName("selectedGroup");
                param.setValue(g.getId().toString());
                link.getChildren().add(param);
     
                list.getChildren().add(link);
            }
            return list;
        }
     
    public String linkNextAction() {
            System.out.println("List: " + tree);
            final FacesContext context = FacesContext.getCurrentInstance();
            final Group group = getSelectedGroupAndPutItInSession(context);
            if (!group.getNode()) {
                return "goToTerminals_1";
            }
            return "goToGroup_1";
        }
     
    private Group getSelectedGroupAndPutItInSession(FacesContext context) {
          final Map<String, String> params = context.getExternalContext().getRequestParameterMap();
          System.out.println("Group select: " + params.get("selectedGroup"));
     
          final Group group = manager.find(Long.valueOf(params.get("selectedGroup")));
          return group;
        }
    Merci de votre aide

  2. #2
    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
    tu la mis à l'intérieur d'un form.

  3. #3
    Membre éclairé
    Inscrit en
    Mars 2005
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 226
    Par défaut
    oui c'est à l'intérieur.

  4. #4
    Membre éclairé
    Inscrit en
    Mars 2005
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 226
    Par défaut
    Le problème a été résolu en utilsant un attribut plutot qu'un parametre.

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 27/02/2015, 15h12
  2. [Runtime]Commande avec paramètre
    Par greg1602 dans le forum Général Java
    Réponses: 19
    Dernier message: 15/11/2005, 14h20
  3. fonction avec parametre
    Par donny dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 16/06/2005, 11h31
  4. Réponses: 6
    Dernier message: 23/05/2005, 08h33
  5. [XSL] xsl:sort avec parametre et condition
    Par elraton dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 15/01/2005, 20h59

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