primefaces对话框模型没有显示任何值

时间:2012-07-10 13:39:32

标签: jsf dialog primefaces

我正在使用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);
}

剩下的代码是getter&amp;以上属性的setter,其中BondLocationEBean映射到db。中的所有列。

提前感谢。

2 个答案:

答案 0 :(得分:0)

您在对话框中调用了错误的变量类型。变化

<h:outputText id="blNo" value="#{item.rackTagCode}" />

<h:outputText id="blNo" value="#{bLDashBoardAction.rackTagCode}" /> 

答案 1 :(得分:0)

终于找到了解决方案,

<f:setPropertyActionListener value="#{item}" 
                        target="#{bLDashBoardAction.blEbean}" />

我应该将Ebean对象指向目标,然后我可以使用bLDashBoardAction.blEbean.rackTagCode获取变量。