2011-04-03 2 views
0

J'ai une exigence dans laquelle sur le clic de l'image j'ai besoin d'afficher la plus grande taille de la même image sur le panneau modal. Pour cela, j'ai fait passer l'emplacement de l'image en tant que f: param au panneau modal, puis j'utilise le paramètre passé dans l'image tag.Comment accéder au paramètre passé dans modalPanel

Mais d'une manière ou d'une autre, je n'arrive pas à faire passer la valeur du paramètre I.

Voici le code:

Voici comment activer le modalPanel et comment je passe le paramètre usingf: param

<h:graphicImage value="../images/DSCN0965.JPG" height="50" width="50" styleClass="iconClass"> 

    <rich:componentControl for="imagePanel" operation="show" event="onclick"> 

     <f:param value="../images/DSCN0965.JPG" name="imagePath"/> 

    </rich:componentControl> 

</h:graphicImage> 

C'est le code du panneau modal et comment j'essaie d'obtenir le f: valeur param ici ...

<rich:modalPanel id="imagePanel" width="600" height="600"> 

     <f:facet name="header"> 

      <h:panelGroup> 

       <h:outputText value="Image"></h:outputText> 

      </h:panelGroup> 

     </f:facet> 

     <f:facet name="controls"> 

      <h:panelGroup> 

       <h:graphicImage value="../images/closeIcon.GIF" styleClass="iconClass" id="closeImageLink"/> 

       <rich:componentControl for="imagePanel" attachTo="closeImageLink" operation="hide" event="onclick"/> 

      </h:panelGroup> 

     </f:facet> 

     <h:outputLabel value="#{imagePath}"/> 

     <h:graphicImage value="{imagePath}" height="400" width="500" styleClass="iconClass"/> 

    </rich:modalPanel> 

Pouvez-vous me donner une idée de la façon d'accéder à la valeur de paramètre transmise?

Cordialement,

Satya

Répondre

0

Ici vous n'êtes pas tenu de définir la valeur de param pour afficher une image plus grande place, cela peut être facilement accompli simplement en utilisant javascript.

Donnez l'élément d'image dans le panneau de modèle id dire "largeImage" et utilisez le script suivant dans votre page image plus petite

onclick = "document.getElementById('largeImage').src = this.src;"

suivant le script pour ouvrir le panneau.

Pour transmettre la valeur de paramètre, vous devez le lier à l'objet de bean de sauvegarde JSF comme décrit here.

+0

C'est bon, je l'avais déjà fait en utilisant le javascript. Je n'ai pas besoin d'utiliser f: param à cette fin – Satya

Questions connexes