Details
Description
org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage.retargetMethodExpressions calls facesContext.getELContext() but should use FaceletContext instead to preserve EL variable and function mapping. Consider this example:
<ui:param
name="localBean"
value="#
" />
<a:niceCompositeComponent customMethod="#
" >
will not work but
customMethod="#
{very.long.path.to.a.bean.in.el.method}will.
This can be easily fixed by using ELContext elContext = (ELContext) context.getAttributes().get(FaceletContext.FACELET_CONTEXT_KEY);
instead of facesContext.getELContext().