Повторное использование нескольких экземпляров CDI @Named bean одного и того же класса на странице JSF

Я хотел бы использовать несколько экземпляров одного и того же именованного компонента CDI на странице JSF2. (Представьте, что у меня есть резервный компонент для доступа к категории контент-менеджера, но я хочу показать несколько категорий на одной и той же странице JSF) Интересно, как я могу "переопределить" имя по умолчанию для аннотации @Named, чтобы у меня было эти 3 или 4 экземпляра? на моей странице. (¿Запомните старый тег JSP "useBean", чтобы использовать bean-компонент на странице... вы можете использовать несколько экземпляров одного и того же класса таким образом) Я искал о beans.xml, но не нашел его. Могу ли я использовать старую запись Faces-context.xml "Управляемый компонент"? Не знаю, будет ли это применяться к компоненту CDI @Named или может использоваться только для старых компонентов, не управляемых CDI.

спасибо за любую информацию, Игнасио

2 ответа

Решение

Вы можете просто сделать свой компонент @Dependent (или удалить существующую аннотацию области видимости), и, если вы не будете использовать компонент дважды в одном и том же выражении EL, вы получите новые базовые экземпляры.

Вы не можете иметь более одного экземпляра компонента в данной области. Так, например, в одном запросе не может быть двух экземпляров bean-объекта в области запроса. В этом смысл сфер.

Так что, думаю, вам вообще не нужно управлять своими бобами. Просто поместите их в качестве атрибутов запроса и получите доступ к ним через EL.

Другие вопросы по тегам