h:dataTable获取特定ID

时间:2017-02-02 16:05:59

标签: jsf jsf-2 datatable

我有一个问题,我已经从ArrayList打印出数据表中的Snowboards。当我有一个按钮将被发送到一个方法,现在只是系统输出它时,问题就出现了。单击该按钮时,我会从arraylist中获取所有ID,而不仅仅是特定的ID。

的index.xhtml

<h:dataTable value="#{snowboardBean.snowList}" var="list">
                <h:column>
                    ID: #{list.id}<br></br>
                    Product Name: #{list.productName}<br></br>
                    Brand Name: #{list.brandName} <br></br>

                    <ui:param name="listID" value="#{list.id}" />

                    <h:button value="Test" onclick="#{snowboardBean.forwardId(listID)}" />
                </h:column>
            </h:dataTable>

bean中的ForwardId()

public void forwardId(String productId){
    System.out.println("ForwardID");
    this.productId = productId;
    System.out.println(productId);
    System.out.println(this.productId);
}

点击后输出如下: ForwardID 1 ForwardID 2

1 个答案:

答案 0 :(得分:0)

在上面的XHTML中,你不需要创建一个param来发送id。而只是像下面那样替换你的XHTML:

<h:dataTable value="#{snowboardBean.snowList}" var="list">
   <h:column>
      ID: #{list.id}<br></br>
      Product Name: #{list.productName}<br></br>
      Brand Name: #{list.brandName} <br></br>
      <h:commandButton value="Test" action="#{snowboardBean.forwardId(list.idD)}" />
   </h:column>
</h:dataTable>