Компонент JSF :вызывает функцию @PostConstruct после установки ViewParam

У меня есть product.xhtml и ProductBean. Я использую /product/{id} для доступа к продуктам, поэтому у меня есть viewParam в product.xhtml со значением = ProductBean.id. Проблема в том, что внутри bean-компонента я использую функцию инициализации с аннотацией PostConstruct, чтобы заполнить сведения о продукте. Для этого мне нужен идентификатор для вызова внешней функции. Я предполагаю, что init вызывается до того, как viewParam устанавливает идентификатор bean-компонента, и поэтому внутри init я не могу вызвать внешнюю функцию, потому что идентификатор еще не установлен. Что я делаю не так и как это исправить?

ОБНОВЛЕНИЕ

Я нашел ошибку. Я думаю, что метод viewParam работает с компонентами CDI, но метод ManagedProperty работает с компонентами JSF.

Теперь у меня есть еще одна проблема. Мой CDI-компонент имеет RequestScoped, и когда product.xhtml визуализируется, bean-компонент создается и, я думаю, позже отбрасывается. Самое смешное, что у меня есть функция внутри этого bean-компонента, который при вызове я могу прочитать идентификатор (, который, как я предполагаю, происходит потому, что он связан с параметром представления ), но не с какими-либо другими свойствами. Любые идеи, как это исправить?

11
задан user579674 23 April 2012 в 14:46
поделиться