ボタンをクリックすると詳細を表示するために、primefaces ダイアログ モデルを使用していますが、ダイアログ ボックスで値を取得できません。
<p:dataGrid id ="boardpanel" var="item" value="#{bLDashBoardAction.listBondLoc}" columns="#{message.no_of_columns}"
rows="20" paginator="true">
<p:column>
<p:panel header="Details" style="text-align:center">
<h:panelGrid columns="1" style="width:100%;">
<h:outputText value="#{item.rackTagCode}" title="#{item.rackTagCode}" />
<p:commandLink update=":frmDashBoard:blDetail" oncomplete="blDialog.show()" title="View Detail">
<p:graphicImage value="/images/search.png"/>
***<f:setPropertyActionListener value="#{item}"
target="#{bLDashBoardAction.rackTagCode}" />***
</p:commandLink>
</h:panelGrid>
</p:panel>
</p:column>
</p:dataGrid>
<p:dialog header="BL Detail" widgetVar="blDialog" modal="true">
<p:outputPanel id="blDetail" style="text-align:center;" layout="block">
<h:panelGrid columns="2" cellpadding="2">
<h:outputLabel for="blNo" value="BL " />
***<h:outputText id="blNo" value="#{item.rackTagCode}" />***
</h:panelGrid>
BLDashBoardAction クラスの getListBondLoc 関数から、rackTagCode のリストを取得しています。これは私の getListBondLoc 関数です:
private String bondLocationId;
private String serviceAreaId;
private String facilityId;
private String bondLocationCode;
private String awb;
private String zoneId;
private String sectorId;
private String rackTagCode;
private String blTagCode;
private String ipAddress;
private String ptlStatusId;
private String errorCode;
private String processIndicator;
private String textMsg;
private String rackTagCodeSel;
private BondLocationEBean beanSel;
private List<BondLocationEBean> listBondLoc;
public String navigateList(){
listBondLoc = bondLocBusServ.searchBondLocList();
return "/jsp/dashboard/dashboard";
}
public void doSearch()
{
listBondLoc = bondLocBusServ.searchBondLocList(sectorId, zoneId, facilityId,ptlStatusId);
}
残りのコードは、BondLocationEBean が db のすべての列にマップされる上記の属性のゲッターとセッターです。
前もって感謝します。