p:dataTable初始化

时间:2012-11-22 05:48:18

标签: jsf primefaces

我有一个代码,我在其中从方法中向类类型列表添加元素。但是每当我试图生成一个p:dataTable时,列表的相应get方法都找不到我已添加的先前值。我的代码如下 -

List<LastToleranceExceed> excptn = new ArrayList<LastToleranceExceed>();

public void ret_approve(FlPendingList fl)throws SQLException{

  String q = "----My Query----";
  PreparedStatement pq=cn.prepareStatement(q);
  ResultSet rsq=pq.executeQuery();

  while(rsq.next()){
    excptn.add(new LastToleranceExceed(unit_name,energy_name,
                                       consump_id,date_list,
                                       shift_list,
                                       Edit_Quantity,
                                       Quantity,
                                       uom_list,
                                       violation));
  }

public List<LastToleranceExceed> getExcptn() throws SQLException{
  return excptn;
}

在Xhtml中:

<p:dataTable value="#{flApproval.excptn}" 
             var="vio" 
             id="dt2" 
             rendered="#{flApproval.dt_show}">

  <p:column>
    <f:facet name="header">
      Date
    </f:facet>
    #{vio.activitydate}
  </p:column>

</p:dataTable>

这段代码有什么问题?我如何获得我添加的值? Plz帮助

1 个答案:

答案 0 :(得分:2)

何时调用ret_approve方法,可能是在数据表初始化之后。 您可以尝试在@PostConstruct上应用ret_approve注释。