2011-08-04 2 views
1

내가 톰캣 6.0 인 Mojarra 2.0.3를 사용하고 있습니다 없음 업데이트 된 객체가 나는 데이터 테이블을 가지고하고 incell 편집 할 수 있도록합니다. 모든 것이 잘 작동하지만 "RowEditEvent event"매개 변수가있는 내 rowEditListener는 새 객체를 반환하지 않습니다.PrimeFaces와 JSF 2 : Incell - 편집, Primefaces 2.</p> <p>와 RowEditEvent 매개 변수

public void onEditRow(RowEditEvent event) { 
    Nutzer nutzer = (Nutzer) event.getObject(); // Get object from event 
    System.out.println(nutzer.toString()); // This prints the OLD data, 
              // not the data I wrote into the form 
    nutzerManager.editNutzer(nutzer);  // Write into the database 
} 

관리 빈은 세션 범위에 있습니다. 청취자는 내가 이전의 데이터 만 수신하는 이유는 무엇입니까?

희망, 저를 도울 수 있습니다. 독일에서

접견, 앤디

답변

2

나는 실수를 발견했다.

tabledata 용 getter는 매번 데이터베이스에서 데이터를로드했습니다.

private List<Nutzer> nutzerList; 

public List<Nutzer> getNutzerList() { 
    nutzerList = nutzerManager.getNutzer(); 
    return this.nutzerList; 
} 

이 버전은 노력하고 있습니다 :

개인 목록 nutzerList을;

public List<Nutzer> getNutzerList() { 
    if(nutzerList == null) 
     nutzerList = nutzerManager.getNutzer(); 
    return this.nutzerList; 
} 
+0

감사합니다. 왜 그렇게 행동하는지 설명해 주시겠습니까? "매번"에 대해 설명해 주시겠습니까? 왜 tabledata는 매번 데이터베이스에서 데이터를로드 했습니까? – rxlky