Bonjours,
Étant un débutant en jsf 2.0.3 Je me permet de poser mon problème.

Voila j'ai cette méthode qui a était faite sous jsf 1.2 et je souhaite faire une mise a jour de cette méthode.


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
protected Object getBackingBean(final HttpServletRequest request, final HttpServletResponse response, final String beanName) {
FacesContext facesContext = getFacesContext(request,response);
ValueBinding vb = facesContext.getApplication().createValueBinding("#{"+ beanName + "}");
return vb.getValue(facesContext);
}
Après plusieurs heure de recherche sur internet et l'API voici Ma solution (qui ne fonctionne pas ) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
public static Object getBackingBean(String beanReference) {
FacesContext facesContext = FacesContext.getCurrentInstance();
final Object returnObject = facesContext.getApplication().getExpressionFactory().createValueExpression(facesContext.getELContext(), "#{"+ beanReference + "}", String.class).getValue(facesContext.getELContext());
return returnObject;
}

Le problème c'est que lors du déploiement j'ai une erreur :

javax/servlet/jsp/JspApplicationContext, have different Class objects for the type javax/el/ExpressionFactory used in the signature


Merci d'avance pour l'aide que vous pourriez me donner