Primefaces p:menuitem pass ein Attribute actionListener

Möchte ich einige Attribute, um actionListener-Methode.

Meine Umsetzung ist wie...

<c:forEach items="${customerProductsBean.userProductList}" var="userProduct">
    <p:panel toggleable="#{true}" toggleSpeed="500" header="#{userProduct.product}" >
       //Some Code... Data Table and Tree Table

        <f:facet name="options">
            <p:menu>
                <p:menuitem value="ProductSetup" actionListener="#{customerProductsBean.getProductSetupData}" >
                      <f:attribute name="userIdParam" value="#{data.userId}"/>
                      <f:attribute name="geCustomerIdParam" value="#{data.geCustomerId}"/>
                      <f:attribute name="acpProductParam" value="#{data.acpProduct}"/>
                </p:menuitem>
                <p:menuitem value="Remove Product" url="#" onclick=""/>
            </p:menu>
        </f:facet>
    </p:panel>
</c:forEach>

Und in Java Action-Listener

public void getProductSetupData(ActionEvent actionEvent) {
      try {
          String userIdParam = 
     (String)actionEvent.getComponent().getAttributes().get("userIdParam");
          String geCustomerIdParam =
     (String)actionEvent.getComponent().getAttributes().get("geCustomerIdParam");
          String acpProductParam =
     (String)actionEvent.getComponent().getAttributes().get("acpProductParam");
      } catch(Exception e) {
           //Exception
      }
}

Versuchte ich es mit <f:attribute> und <f:param> aber war nicht in der Lage, um den Wert in Java.

In java zeigt null für jeden Wert.

Schreibe einen Kommentar