Установить JBoss tools. Затем, добавив <nature>org.jboss.tools.jsf.jsfnature</nature>
в раздел natures
файла .project
, поддержка улучшилась в моей версии Eclipse J2EE Helios. (Этот шаг, вероятно, равен Configure->Add JSF Capabilities
в настройках проекта.) Затем завершение контекста работает для cc.attrs.<ctrl-space>
при компоновке составных композиций, но, к сожалению, не для всех @ManagedBean
.
Переход от 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.
Отлично, спасибо! – bertie
Когда мы добавляем ' org.jboss.tools.jsf.jsfnature ' к.у проекта есть какая-либо проблема для развертывания проекта на Glassfish или для использования плагина Glassfish в Eclipse? И какой из всех инструментов JBoss мы должны установить, чтобы получить поддержку контента для facelets, когда мы не хотим устанавливать все инструменты JBoss? –
Во-первых: Я не думаю, что будет какая-то проблема с Glassfish. Второй: попробуйте все с JSF и CDI в их именах. – alfonx