eclipse - JSF2 + CDI(焊接)bean + Eclipse Helios 的内容辅助

标签 eclipse jsf jsf-2 cdi helios

我正在 eclipse helios 中尝试 JSF2 CDI(焊接)bean,而不是 ManagedBeans,但无法在我的 Named beans 的表达式语言中执行自动完成( #{myNamedBean.Ctrl+空格} 东西)

但是 OTOH 与 ManagedBeans 一起,内容辅助效果很好.. Eclipse Helios 是否支持 CDI bean 的内容辅助?

有人有这方面的经验吗?

最佳答案

  1. 安装 JBoss tools 。然后添加 <nature>org.jboss.tools.jsf.jsfnature</nature>natures .project 部分文件,我的 Eclipse J2EE Helios 版本中的支持得到了改进。 (此步骤可能等于项目设置中的 Configure->Add JSF Capabilities。)上下文完成然后适用于 cc.attrs.<ctrl-space>。构建组件组合时,但遗憾的是仍然没有任何 @ManagedBean s。

  2. 从 ManagedBeans 切换到 CDI:我更改了所有 @ManagedBean发送至@javax.inject.Named以及 @javax.enterprise.context.*Scoped 的范围等等。我还在项目设置中启用了 CDI 支持。然后我在.xhtml中获得了bean的上下文完成!

第一个限制:仅当 EL 是属性值的一部分时才有效。如果你只使用#{EL},它不起作用。 .xhtml 上的其他地方页。

第二个限制:如果您通过常量定义 bean 的名称,则上下文竞争无法识别它:不起作用:@Named(value = MyBean.BEANNAME) 。您必须将名称设置为字符串,例如:@Named(value = "myBean")

第三个限制:如果您使用参数化方法调用(例如使用 Tomcat7 或 Glassfish),则自动完成功能不支持此操作。自动完成仅显示 bean 的 get/set/is 属性。

注意:它在 Netbeans 7 中开箱即用。

关于eclipse - JSF2 + CDI(焊接)bean + Eclipse Helios 的内容辅助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4122189/

相关文章:

java - 从另一个请求范围的 Bean 实例化 session 范围的托管 Bean

java - :ValueChangeListener nullifying EJB injection

session - JSF 在 shiro 中更改 session 超时

post - JSF 接收 POST 参数

jsf - 在 JSF 中使用消息包时从验证消息中删除组件 ID

jsf - 在 JSF 中执行两个操作方法

java - Eclipse - Shazamcrest - java.lang.NoSuchFieldError : NONE

python - 从 cmd 导入 Cmd,(不适用于 MyPrompt 类)

eclipse - 当我调试服务器时,Myeclipse 抛出一些错误

eclipse - 在 Eclipse 中,我可以同时拥有多个控制台 View ,每个 View 显示不同的控制台吗?