您是通过CDI(而不是JSF)管理bean。JSF @ViewScoped
批注@ManagedBean
仅适用于JSF ,不适用于CDI@Named
。在CDI上,@Named
您只能使用CDI范围,而不能使用JSF范围。CDI提供的最接近的是@ConversationScoped
。但是,您必须自己管理一些对话的开始和结束,并附带一些其他样板代码。
同样的情况适用于JSF @ManagedProperty
注释。它@ManagedBean
仅适用于JSF ,不适用于CDI@Named
。对于CDI,应使用@Inject
或自定义HTTP参数注释。
JSF问题2266 这一切 。