如何使p:graphicImage可单击并调用bean动作

时间:2012-03-29 11:39:36

标签: jsf primefaces clickable graphicimage

我正在使用<p:graphicImage>,如下所示:

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

     </p:graphicImage>                
</div>

但这不是可点击的图片。如何使这个图像可以点击,这样当用户点击它时,我可以调用我想要的托管bean动作。

2 个答案:

答案 0 :(得分:14)

将图片换入h:commandLink / h:link

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

答案 1 :(得分:1)

如果p:graphicImage位于p:contentFlow中,您可以使用以下内容:

对我而言,这完美无缺:

<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>