JSF 2 с PrimeFaces: редактирование Incell, без обновленного объекта в параметре RowEditEvent - PullRequest
1 голос
/ 04 августа 2011

Я использую Mojarra 2.0.3 на Tomcat 6.0 с Primefaces 2.

Я получил dataTable и хочу сделать его редактируемым в ячейке.Все работает нормально, но мой rowEditListener с параметром «Событие 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
}

Управляемый компонент находится в области действия сеанса.Почему слушатель получает только старые данные, а не данные, которые я записал в формуляр incell?

Надеюсь, вы мне поможете.

Привет из Германии, Энди

1 Ответ

2 голосов
/ 05 августа 2011

Я нашел ошибку.

Метод получения данных таблицы загружал данные каждый раз из базы данных.

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