Country Map

How to make p: graphicImage clickable and call action bean

I am using <p:graphicImage>

as below:

<div id="mapp">
    <h3>Country Map</h3>         
    <p:graphicImage id="city"
                    value="#{countryPages_Setup.countryMap}"
                    width="250"
                    height="190">

     </p:graphicImage>                
</div>

      

But this is not a clickable image. How can I make this image clickable, so when the user clicks on it, I can invoke the managed bean action I want.

+3


source to share


2 answers


Wrap your image in h:commandLink

/ h:link

:



<h:commandLink action="...">
  <p:graphicImage id="city"
            value="#{countryPages_Setup.countryMap}"
            width="250"
            height="190">
  </p:graphicImage>
</h:commandLink>

      

+13


source


If p: graphicImage is inside p: contentFlow, you can use the following:

This works great for me:



<h:form id="imageFlowForm">
    <p:contentFlow id="imageContent" value="#{controller.allImages}" var="entry">
        <div class="caption">#{entry.name}</div>
        <p:commandLink styleClass="content" action="#{controller.doAction}" update="detailForm">
            <p:graphicImage value="#{entry.imagePreviewUrl}" styleClass="content" width="50px" />
            <f:param name="id" value="#{entry.id}" />
        </p:commandLink>
    </p:contentFlow>
</h:form>

      

+1


source







All Articles