CDI@是否将CODI'注入面部转换器;s@Advanced如何处理AJAX请求?
我们使用CDI@是否将CODI'注入面部转换器;s@Advanced如何处理AJAX请求?,ajax,jsf-2,cdi,myfaces,codi,Ajax,Jsf 2,Cdi,Myfaces,Codi,我们使用facescoverters并使用CODI的@Advanced注释对其进行注释,以便能够使用CDI注入。这适用于正常请求。但是在AJAX请求上,注入的CDIbean为空。以及中的FacesContext参数 public Object getAsObject(FacesContext context, UIComponent component, String value) 是org.apache.myfaces.context.servlet.FacesContextImpl,而不是
facescoverter
s并使用CODI
的@Advanced
注释对其进行注释,以便能够使用CDI
注入。这适用于正常请求。但是在AJAX
请求上,注入的CDI
bean为空。以及中的FacesContext
参数
public Object getAsObject(FacesContext context, UIComponent component, String value)
是org.apache.myfaces.context.servlet.FacesContextImpl
,而不是org.apache.myfaces.extensions.cdi.jsf2.impl.listener.request.CodiFacesContextWrapper
,因为在正常请求中,当注入工作时
有人知道如何使用
AJAX
请求在FacesConverter
s中进行注入吗?谢谢。您是使用MyFaces Core还是Mojarra作为JSF实现?很有趣。您说过它适用于非AJAX,但在我的应用程序中(我最近从JSF托管bean迁移到CDI),@Advanced with FacesConverter(forClass=…)没有在non-AJAX.FYI上注入bean,请参见以下内容:;这个答案让我添加了JSF(RequestScope)托管bean,它只包含@FacesConverter和Converter。我对它进行了测试,它在我从JSF托管bean迁移到CDI托管bean时起作用。