Добавьте строку в h: dataTable через AJAX с компонентом в области запроса, не теряя данные строки - PullRequest
1 голос
/ 03 сентября 2010

Я думаю, что заголовок говорит обо всем: я хочу добавить строку в dataTable поверх AJAX.У таблицы данных есть поля ввода, в которые пользователь может поместить текст.Очень просто, довольно распространенный случай.

С компонентом в сессионной области это не проблема, так как один и тот же компонент обновляется снова и снова.Тем не менее, я хочу сделать это в объеме запроса.Я предполагаю, что для каждого запроса я хочу создать новый компонент и заполнить его значениями из моей формы.Затем я хочу, чтобы мои commandButton action добавили новую строку, и, наконец, отрисовали dataTable поверх AJAX как обычно.

Проблема в том, что я не знаю, как заставить JSF заполнятьНедавно созданный объект запроса с текущими данными из компонента dataTable?

Был аналогичный вопрос задан и ответил .Однако это решение, кажется, перезагружает содержимое dataTable каждый раз, когда он обновляется, и вручную вставляет пустые элементы для вновь вставленных строк, например:

// Preserve list with newly added items.
ror (int i = 0; i < (Integer) count.getValue(); i++) {
    list.add(new Item());
}

Мне кажется, что этот подход также стираетвозможные изменения, которые пользователь внес в строки (новые и старые) ... если он сначала не сохранит их.

Какие-нибудь указатели?

1 Ответ

3 голосов
/ 03 сентября 2010

Вы действительно должны рассмотреть возможность использования новой области просмотра JSF 2.0 . Это лежит между запросом и областью действия сеанса. Эта область действует до тех пор, пока вы взаимодействуете (отправляете и просматриваете) одно представление Это точный костюм для конкретного функционального требования.

Смотри также

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...