2012-11-22 2 views
1

메소드에서 클래스 유형 목록에 요소를 추가하는 코드가 있습니다. 그러나 p : dataTable을 생성하려고 시도 할 때마다 목록의 해당 get 메소드는 이미 추가 한 이전 값을 찾을 수 없습니다. 내 코드는 XHTML에서p : dataTable 초기화

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; 
} 

below-과 같습니다

<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 도움말

+0

어떻게 테이블을 업데이트하나요? 안에 있습니까? – bjedrzejewski

+0

@ jedrus07 : 예, 안에 있고 update = ": df2 : dt2"로 commandButton을 통해 업데이트하고 있습니다. – Basuz

+0

버튼과 빈에 대한 코드를 게시 할 수 있습니까? @ViewScoped를 사용하지 않는 Bean의 범위 또는 요청 이후에 존재하는 모든 것이 문제 일 수 있습니다. – bjedrzejewski

답변

2

ret_approve 메서드가 호출되면 아마도 데이터 테이블이 초기화 된 것입니다. @PostConstruct 주석을 ret_approve에 적용해볼 수 있습니다.