2010-11-08 5 views
8

Im пытается JSF2 CDI (сварной) фасоль в затмениях Helios вместо ManagedBeans, но не может сделать автозаполнение внутри языка выражения для моих Named бобов (The #{myNamedBean.Ctrl + Space} штуковина)Content Assist для JSF2 + CDI (шва) фасоль + Eclipse, Helios

Но OTOH с ManagedBeans, содержание помощи работает хорошо .. ли содержание помощи для CDI фасоли пока поддерживается в Eclipse, Helios?

У кого-нибудь есть опыт?

ответ

13
  1. Установить JBoss tools. Затем, добавив <nature>org.jboss.tools.jsf.jsfnature</nature> в раздел natures файла .project, поддержка улучшилась в моей версии Eclipse J2EE Helios. (Этот шаг, вероятно, равен Configure->Add JSF Capabilities в настройках проекта.) Затем завершение контекста работает для cc.attrs.<ctrl-space> при компоновке составных композиций, но, к сожалению, не для всех @ManagedBean.

  2. Переход от ManagedBeans к КДИ: Я изменил все @ManagedBean с до @javax.inject.Named и прицелы на @javax.enterprise.context.*Scoped и т.д. Я также включить поддержку CDI в настройках проекта. Затем я получаю завершение контекста на бобах в .xhtml!

Первое ограничение: оно работает только тогда, когда EL является частью значения атрибута. Это не работает, если вы просто используете #{EL} где-то еще на странице .xhtml.

Второе ограничение: Если вы определяете имя своего компонента через константу, оно не распознается для контекстной конкуренции: не работает: @Named(value = MyBean.BEANNAME). Вы должны указать имя как String, например: @Named(value = "myBean")

Третье ограничение: если вы используете параметризованные вызовы методов (например, с Tomcat7 или Glassfish), это не поддерживается автозаполнением. Автозаполнение только показывает get/set/- свойства компонента.

Примечание: Это работает из коробки в Netbeans 7.

+0

Отлично, спасибо! – bertie

+0

Когда мы добавляем ' org.jboss.tools.jsf.jsfnature' к.у проекта есть какая-либо проблема для развертывания проекта на Glassfish или для использования плагина Glassfish в Eclipse? И какой из всех инструментов JBoss мы должны установить, чтобы получить поддержку контента для facelets, когда мы не хотим устанавливать все инструменты JBoss? –

+0

Во-первых: Я не думаю, что будет какая-то проблема с Glassfish. Второй: попробуйте все с JSF и CDI в их именах. – alfonx

2

Если есть какая-либо поддержка, это будет от JBoss Tools.

+0

спасибо за информацию, но я думал о том, что не является специфичным для JBoss – bertie

+0

@Albert Kam это плагин для затмения я думаю – Bozho

0

Перед установкой JBossTools, обратите внимание, что для EL автозаполнения поддержка и управление отображение боба все, что нужно эти 2 компонента из набора JBoss Tool.

1. JBoss Tools JSF 
2. JBoss Tools Visual Page Editor 

Если вы не выбрали эти специальные инструменты, тогда все инструменты 20+ будут установлены.

Также обратите внимание, что иногда после установки инструмента ваша ассоциация по умолчанию * .xhtml не изменяется. Возможно, вам придется вручную изменить предпочтение ассоциации файлов. File>Preference>File Associations. Select * .xhtml и set "JBoss Tools Visual Page Editor" as the default editor.