データベースから取得した名前のリストで構成されるデータテーブルがあります。これらの名前は、コマンドリンクを使用して表示されます。コードを以下に示します。
<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>
コマンドリンクをクリックすると、バッキング Bean のメソッド getPatientID(p.firstname) が呼び出されます。クリックしたリンクの名前が、バッキング Bean の内容と一致していないことに気付きました。(たとえば、コマンドリンクでクリックされた名前は、バッキング Bean に渡すことによって取得された名前と同じではありません)。その理由は何ですか?どうすれば解決できますか?
public void getPatientID(String fname) {
System.out.println(fname);
}