powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / JSF: <h:panelGrid>
1 сообщений из 1, страница 1 из 1
JSF: <h:panelGrid>
    #33687188
yuriypalych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот есть такая проблема. Хочу сделать разбивку по страницам для большого массива данных.
На JSP странице объявляется табличка, содержащая ссылки-номера страниц:
Код:
1.
2.
3.
      <h:panelGrid columns="1"
                   binding="#{RoutingTableBean.pagePanel}"
                   styleClass="tablePages"/>


binding для нее:

Код:
1.
2.
3.
    public HtmlPanelGrid getPagePanel() {
        return this.pagePanel;
    }


переменную pagePanel я перестраиваю сам (в конструкторе и в нескольких других методах (сортировка, фильтр и т.д.)

в этой панели есть массив линков с индексами страниц
Код:
1.
2.
3.
    HtmlCommandLink link = new HtmlCommandLink();
    link.setValue(caption);
    link.setAction(BaseBean.getMethodBinding("#{RoutingTableBean.paging}", null));

и текущий номер страницы
Код:
1.
2.
    HtmlOutputText text = new HtmlOutputText();
    text.setValue(caption);


В методе paging() устанавливаем выбранный номер страницы и переформировываем объект pagePanel.

Всё замечательно работает, но есть одно но:

RoutingTableBean объявлен как сессионный,
<managed-bean-scope>session</managed-bean-scope>
но периодически я подкладываю в сессию другой объект этого же класса (мне так надо).

И вот тут то грабли: панель с этим paging'ом не перерисоывается.
Если ранее была выбрана, например, 5-я страница, то в этом компаненте показывается 5 страница.
Потом я нажимаю одну кнопку, в сессию подкладывается новый экземпляр класса бина
(в котором все поля обнулены при помощи оператора new)
Но в этом компаненте всё-таки показывается 5-я страница, а не требуемая 1-я.

При дебаге явно видно, что бин имеет эту единичку, но отображается именно пятерочка :(

Вопрос: почему метод прописанных в аттрибуте binding (getPagePanel()) вызывается лишь один раз, при старте приложения?
Сколько бы я не обновлял свою страницу, getter вызывается лишь один раз :(


фух, аж устал писать :)
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / JSF: <h:panelGrid>
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]