Для проекта мы переносим некоторые Java-приложения в WebSphere 8.5. В процессе мы пытаемся избавиться от некоторых устаревших фреймворков. Один из них - shale (apache attic). Единственным компонентом из сланца, который используется, является контроллер представления для создания экземпляра управляемого jsf обработанных запросов для каждой страницы. У каждого компонента есть метод init, который вызывается при загрузке страницы. Я хотел бы использовать @PostConstruct для этого метода. Единственная проблема, с которой я столкнулся, когда экземпляр компонента создается, когда вызывается метод в bean-компоненте. К сожалению, компонент не всегда вызывается, и метод init действительно заполняет данные в компоненте, включенном в сеанс. Существует соглашение об именах, которое связывает страницы и компоненты, чтобы мы могли использовать прослушиватель для создания экземпляра компонента на основе запроса. Другое решение может изменить сферу действия на viewcope (возможно, на большой сложности в websphere 8.5).Как создать экземпляр бэкбона на загрузке страницы
Мне было интересно, есть ли что-то, что я могу сделать, чтобы сделать работу PostConstruct? И есть ли другие варианты, которые мне не хватает?
Редактировать: У меня есть PhaseListener, который выполняет базовую функциональность. Он соответствует запрошенной странице соответствующему компоненту (по соглашению об именах). Для создания экземпляра компонента используется следующее: он выглядит немного уродливым.
expressionFactory.createValueExpression(elContext, "#{" + managedBeanName + "}", Object.class)
Есть ли более элегантный способ сделать это?
Какие JSF 2.x версии? WAS 8.5 MyFaces 2.0.x? – BalusC
Предпочтительно, чтобы изменение реализации повлекло за собой изменение порядка загрузчика класса (родительский последний). Я не думаю, что это вариант для нас. – pjanssen
Я этого не спрашивал. Я спросил, какую версию JSF 2.x вы используете. Тогда я могу настроить свой ответ на этот вопрос. Возможности зависят от используемой версии JSF 2.x. Итак, еще раз, используете ли вы JSF 2.0, 2.1 или 2.2? – BalusC