我有下面的dataList,它显示一次分页显示一个图像的图像。我希望能够知道/检索当我单击我的p:commandButton时显示的图像,以便我可以在我的actionListener方法(bookmarkletBean.update)中访问它。这里有什么想法吗?
<p:dataList value="#{bookmarkletBean.imageURLs}" var="img"
paginator="true" rows="1" effectSpeed="fast" pageLinks="4"
paginatorTemplate="{FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink}" paginatorPosition="bottom">
<p:column>
<p:graphicImage value="#{img}" width="200" height="110"/>
</p:column>
</p:dataList>
<p:commandButton styleClass="form-btn1" value="#{bundle['save.button.TEXT']}"
actionListener="#{bookmarkletBean.update}" oncomplete="bookmarkletAddedDlg.show()" />
答案 0 :(得分:0)
不可能,因为p:dataList
和p:dataGrid
都没有选择属性,可以附加到p:commandButton
所属的辅助bean。
因此,我建议让p:dataTable
具有选择属性,然后单击该按钮后,您将选择哪一行(图像)。
<p:dataTable value="#{bookmarkletBean.imageURLs}" var="img"
selection"#{bookmarkletBean.selectedImage}"
paginator="true" rows="1" effectSpeed="fast" pageLinks="4"
paginatorTemplate="{FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink}" paginatorPosition="bottom">
<p:column>
<p:graphicImage value="#{img}" width="200" height="110"/>
</p:column>
</p:dataTable>
<p:commandButton styleClass="form-btn1" value="#{bundle['save.button.TEXT']}"
actionListener="#{bookmarkletBean.update}" oncomplete="bookmarkletAddedDlg.show()" />
答案 1 :(得分:0)
下面的一个可能的解决方案就是这样排列,用一个链接来选择想要的图像,然后是actionListener进程的选择
<p:dataTable value="#{bookmarkletBean.imageURLs}" var="img"
paginator="true" rows="1" effectSpeed="fast" pageLinks="4"
paginatorTemplate="{FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink}"
paginatorPosition="bottom">
<p:column>
<p:graphicImage value="#{img}" width="200" height="110"/>
<p:commandLink>
<f:setPropertyActionListener value="#{img}" target="#{bookmarkletBean.selectedImage}"/>
select image
</p:commandLink>
</p:column>
</p:dataTable>