Im trying JSF2 CDI (weld) beans in eclipse helios instead of ManagedBeans
, but can't do the auto completion inside the expression language for my Named
beans (the #{myNamedBean.
Ctrl+Space}
thingy)
But OTOH with ManagedBeans, the content assist works well .. Is the content assist for CDI beans supported yet in Eclipse Helios?
Anybody got experiences in this ?
Install JBoss tools. Then by adding <nature>org.jboss.tools.jsf.jsfnature</nature>
to the natures
section of the .project
file, the support improved in my Eclipse J2EE Helios edition. (This step is probably equal to Configure->Add JSF Capabilities
in the project settings.) The context completion then works for cc.attrs.<ctrl-space>
when building component compositions, but sadly still not for any @ManagedBean
s.
Switch from ManagedBeans to CDI: I changed all @ManagedBean
s to @javax.inject.Named
and the scopes to @javax.enterprise.context.*Scoped
etc. I also enable CDI Support in the project settings. Then I get context completion on beans in .xhtml
!
First limitation: It only works when the EL is part of an attribute value. It does not work if you just use #{EL}
somewhere else on the .xhtml
page.
Second limitation: If you define the name of your bean via a constant, it is not recognized for context competion: Does not work: @Named(value = MyBean.BEANNAME)
. You have to set the name as a String, like: @Named(value = "myBean")
Third limitation: If you use parameterised method calls (e.g. with Tomcat7 or Glassfish), this is not supported by autocomplete. The autocomplete only shows get/set/is properties of the bean.
Note: It works out of the box in Netbeans 7.
If there is any support, it would be from JBoss Tools.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With