安装 JBoss 工具。通过在 .project
文件的 natures
部分添加 <nature>org.jboss.tools.jsf.jsfnature</nature>
,可以改善我的 Eclipse J2EE Helios 版本中的支持。 (这一步可能相当于在项目设置中进行“配置-> 添加 JSF 能力”)。然后,在构建组件组合时,对于cc.attrs.<ctrl-space>
,上下文完成工作,但遗憾的是对于任何@ManagedBean
都无法正常工作。
从 ManagedBeans 切换到 CDI:我将所有的@ManagedBean
更改为@javax.inject.Named
,并将作用域更改为@javax.enterprise.context.*Scoped
等。我还在项目设置中启用了 CDI 支持。然后,在.xhtml
文件中的 bean 上获得了上下文完成!
第一个限制:它仅在 EL 是属性值的一部分时才起作用。如果您只是在.xhtml
页面的其他地方使用#{EL}
,则不会起作用。
第二个限制:如果您通过常量定义 bean 的名称,则无法识别其上下文完成。不起作用:@Named(value = MyBean.BEANNAME)
。您必须将名称设置为字符串,如:@Named(value = "myBean")
第三个限制:如果使用参数化的方法调用(例如 Tomcat7 或 Glassfish),则自动完成不支持此功能。自动完成只显示 bean 的 get/set/is 属性。
注意:在 Netbeans 7 中,它可以直接使用。
如果需要支持,可以从JBoss工具获得。
1. JBoss Tools JSF
2. JBoss Tools Visual Page Editor
如果您不选择这些特定的工具,则会安装所有20多个工具。
此外,请注意,有时在安装工具后,您的默认文件*.xhtml关联可能不会更改。您可能需要手动更改文件关联首选项。文件>首选项>文件关联。
选择*.xhtml并将“JBoss Tools Visual Page Editor”设置为默认编辑器。
<nature>org.jboss.tools.jsf.jsfnature</nature>
时,部署项目到Glassfish或在Eclipse中使用Glassfish插件会有任何问题吗?如果我们不想安装所有JBoss工具,那么我们必须安装哪些JBoss工具才能获得Facelets内容辅助功能? - Svetoslav Marinov@ManagedBean
可以工作,EL表达式的自动完成在任何地方都可以工作,而不仅仅是在属性中,参数化方法调用也可以自动完成。 - prunge