Primefaces p:p:datatable中的commandlink给出了错误的值

时间:2013-09-22 08:20:13

标签: jsf-2 primefaces datatable commandlink

我有一个数据表,其中包含从数据库中获取的名称列表。使用commandlink显示这些名称。代码如下所示:

      <h:form id="formp">
              <p:dataTable id="listpat" var="p" value="#{loginBean.patient}"> 
                    <p:column> 
                        <p:commandLink value="#{p.firstname} #{p.lastname}" action="#     {loginBean.getPatientID(p.firstname)}" onclick="tabview.select(1);">
                        </p:commandLink>
                    </p:column>
              </p:dataTable>                  
      </h:form>

单击commandlink会在辅助bean中调用方法getPatientID(p.firstname)。我意识到我点击的链接上的名称与支持bean中的内容不对应。 (例如,在commandlink中单击的名称与通过传入支持bean获得的名称不同)。可能是什么原因?我该如何解决?

public void getPatientID(String fname) {
    System.out.println(fname);
}

1 个答案:

答案 0 :(得分:0)

<p:commandLink value="#{p.firstname} #{p.lastname}" action="#{loginBean.getPatientID(p.firstname)}" onclick="tabview.select(1);">
<f:setPropertyActionListener target="#{loginBean.patient.firstname}" value="#{p.firstname}"
                    </p:commandLink>

也许这会起作用