Сессия JSF - PullRequest
       24

Сессия JSF

0 голосов
/ 18 мая 2010

У меня возникла ситуация, когда у меня есть список записей, скажем, 10000, я использую датируемый и использую пейджинг (10 записей на дисплей) Я хотел поместить этот список в сессию как:

facesContext........put("mylist", mylist);

А в получателях mylist у меня есть

public List<MyClass> getMyList() {
    if(mylist== null){

        mylist= (List<MyClass>) FacesContext......getSessionMap().get("mylist");
    }

    return mylist;
}

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

Правильно ли разместить список в сеансе. Это то, как я должен называть список в моем случае.

Спасибо заранее ...

1 Ответ

1 голос
/ 19 мая 2010

Что-то совсем другое: я настоятельно рекомендую , а не поместить эти 10.000 записей в область сеанса. Это явно неэффективно. Если 100 пользователей посещают вашу таблицу данных, эти записи будут дублироваться в памяти для каждого пользователя. Это не имеет никакого смысла. Просто оставьте их в базе данных и напишите SQL-запросы соответственно, чтобы он возвращал именно те строки, которые вы хотите отобразить для запроса . Это работа, для которой предназначена БД. Если модель данных хорошо спроектирована (индексы для столбцов участвуют в WHERE и, если необходимо, ORDER BY предложения), то это, безусловно, быстрее, чем выборка всей таблицы в памяти Java для каждого посетителя.

Вы можете найти больше идей и примеров кода в этой статье .

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