Я создаю составной компонент, который будет обертывать datatable, чтобы реализовать очень простой пейджинг. Мне нужно сохранить состояние (текущий номер страницы) между запросами ajax.Как сохранить состояние при расширении UIComponentBase
Я попытался создать поля в моей FacesComponent, но я обнаружил, что они уничтожены в течение всего жизненного цикла JSF:
@FacesComponent(value = "bfTableComponent")
public class BFTableComponent extends UIComponentBase implements NamingContainer {
private int currentPageNumber;
...
я не могу, кажется, найти краткое руководство, чтобы делать это в любом месте! Как сохранить состояние между запросами при создании составного компонента?
Быстрое наблюдение, если я хотел запустить код инициализации «Один раз» и сохранить его в StateHelper, что было бы подходящим местом для этого? Я попробовал конструктор BFTableComponent, но у меня еще не было доступных свойств, и он запускается несколько раз. –
Это статические данные? Сделайте его «статической» переменной. Если инициализация сложна, вы можете сделать это в 'static {}'. – BalusC
Нет, не статично. одним из атрибутов является то, что пользователь может выбрать начальную страницу. Я хочу установить это ровно один раз. Есть ли место для однократной инициализации? –