将参数传递给c:foreach循环内的f:ajax

问题描述 投票:1回答:1

我正在尝试将参数传递给ajax事件,这是我的意思的示例:

<h:panelGrid id="pictures" columns="3">
    <c:forEach items="#{createProduct.pictures}" var="picture">
        <h:graphicImage value="#{picture.source}" />
        <h:inputText value="#{picture.alt}" />
        <p:commandButton value="Remove">
            <f:ajax execute="@form" 
                    listener="#{createProduct.removePicture(picture)}" 
                    render="@form" />
        </p:commandButton>
    </c:forEach>
</h:panelGrid>

我知道此代码将无法工作,因为您无法通过ajax侦听器传递参数。尽管这只是我要完成的工作的一个示例。我尝试过将<f:param id="picture" value="#{picture}" /> allong与ajax标记一起使用,尽管这会导致重复的组件ID形式:图片,因为它处于循环中。我需要在方法中使用此参数来确定要删除的图片。如何使用Ajax解决此问题?

我正在使用@ViewScoped CDI-bean。

jsf primefaces
1个回答
4
投票
就是这样。不要复杂。
© www.soinside.com 2019 - 2024. All rights reserved.