我的项目使用的是JSF2.0和WAS8.0。我使用@ConversationScoped CDI bean作为我的页面的支持bean。我对这个bean的原始注释是:
@Named("myBean")
@ConversationScoped
@Stateful
然后在加载页面时,我找到了Property not found错误。似乎EL完全不起作用。然后我添加了@LocalBean(我的支持bean MyBean确实实现了接口,但接口上没有@Local注释):
@Named("myBean")
@LocalBean
@ConversationScoped
@Stateful
然后一切都很顺利。它是WebSphere中的特定内容吗?或者是CDI的常见要求(我想我已经看过一些既没有@LocalBean也没有实现@Local带注释的接口的例子。
答案 0 :(得分:1)
对我来说似乎是必要的,也许你看到的其他bean都不是EJB bean:
会话bean的无限制bean类型包含all bean的本地接口及其超接口。如果是会话 bean有一个bean类本地视图,这是一组不受限制的bean类型 包含bean类和所有超类。此外, java.lang.Object是每个会话bean的bean类型。
远程接口不包含在bean类型集中。