2012-03-06 1 views
4

Я создал проект JSF 2.0 в Netbeans 6.9. Я начинаю использовать CDI. После создания проекта, когда я попытался добавить область, я заметил, что в ней нет viewcope. Я хочу знать, что область разговора и область обзора относятся к тем же вещам? Могу ли я использовать область разговора вместо области обзора. Если нет, то как я могу использовать область представления с CDI. Я также узнал, что шов - это решение, но как я могу использовать шов с netbeans. Есть ли плагин netbeans для шва? Шов-3Как использовать область представления в случае CDI в JSF 2.0

Благодаря

ответ

10

Там нет зрения возможности для КДИ. Разница в разговоре не то же самое. Объект, охваченный объектом, живет до тех пор, пока вы работаете с одним и тем же видом, и сохраняете частичную или полную перезагрузку страницы.

Если вы хотите использовать область разговора CDI, ваше приложение должно установить начало и конец разговора.

Из моего опыта вы можете использовать области CDI вместе с областью видимости JSF (например, использовать области CDI для сессионных и прикладных компонентов и область видимости JSF, где она вам нужна).

UPDATE: Однако вы не можете вставлять компонент exportad в CDI-компонент. Другое дело. И это более распространенный случай (вводящий более широкий круг в более узкий).

+0

Вы хотите сказать, что я использую @managedBean вместо @ named, если я хочу область обзора. И в @managedBean я могу использовать области CDI. Например, '@ManagedBean (name =" businessAddUpdate ") -> @ ViewScoped -> @ conversScope-> public class .....'. ** -> означает следующую строку ** Это? – Basit

+0

Не смешивайте оба в аннотации одного и того же класса. Либо один, либо другой. Также будьте осторожны, чтобы импортировать правильные классы. –

+1

HHmm теперь я понял. Вы хотите сказать, что если я хочу область просмотра, то я использую '@ManagedBean (JSf)', но если я хочу запрос или область сеанса или разговора, то я использую '@Named (CDI)'. Потому что bean может быть только в одной области одновременно. Это? – Basit

0

просто просто установите модуль seam3 faces в свой путь к классу или используйте @ViewAccessScpoed аннотация myfaces CODI.

+1

CODI имеет лучший адаптер @ViewScoped, который также обрабатывает кромки. AFAIK, который также используется в DeltaSpike. –

+0

@ Дар, да, вы правы, а модуль jsf для DeltaSpike находится в тяжелом развитии, и это будет отличный модуль, потому что разработчики CODI и seam делают это вместе;) – Heidarzadeh

 Смежные вопросы

  • Нет связанных вопросов^_^