hi tom, extval tries to initialize input components before they get rendered. so you see the exception quite early. i haven't analyzed the details of the example - however, if you deactivate extval (via vm parameter), you will see the same issue at the next postback.
so you are right - it is >not< an issue of extval. regards, gerhard http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces 2010/7/19 Gerhard Petracek <[email protected]> > hi tom, > > i'll have a look at the example. > > regards, > gerhard > > http://www.irian.at > > Your JSF powerhouse - > JSF Consulting, Development and > Courses in English and German > > Professional Support for Apache MyFaces > > > > 2010/7/19 <[email protected]> > > Hi at all, >> >> I found a bug which I think is a jsf problem rather than for ExtVal, but >> since the code refers to https://issues.apache.org/jira/browse/EXTVAL-102I >> would like you to check it too: >> >> Exception is javax.el.PropertyNotFoundException: >> /resources/parts/partbase.xhtml @23,53 value="#{cc.attrs.child.value}": >> Target Unreachable, 'child' returned null >> >> which occurs in >> org.apache.myfaces.extensions.validator.core.el.DefaultELHelper >> >> private void inspectTarget(ValueExpression valueExpression, ELContext >> elContext, boolean inspectCompositeComponent) >> { >> try >> { >> valueExpression.setValue(elContext, null); >> } >> catch (Throwable t) >> { >> if(inspectCompositeComponent) >> { >> throw new IllegalStateException( >> "error at binding: " + >> valueExpression.getExpressionString() + >> " -- an el-resolver error occurred! maybe >> you used an invalid binding.", t); >> } >> } >> } >> >> after runnign throug ExtVal-102 code: >> >> public PropertyDetails getPropertyDetailsOfValueBinding(UIComponent >> uiComponent) >> { >> ... >> >> //see EXTVAL-102 >> if (elResolver.getBaseObject() instanceof >> CompositeComponentExpressionHolder) >> { >> ValueExpression newValueExpression = >> ((CompositeComponentExpressionHolder) elResolver.getBaseObject()) >> .getExpression(elResolver.getProperty()); >> >> if (newValueExpression != null) >> { >> elResolver = createWrappedELContext(facesContext); >> inspectTarget(newValueExpression, >> ExtValELResolver.createContextWrapper( >> facesContext.getELContext(), elResolver), >> false); --> Exception! >> } >> } >> >> >> I provided a simple war project containing templates and simple classes >> (bean --> parent class --> child class with string value): >> http://www.humyo.de/10453303/TestProject.war?a=W0dLMKgfIko >> >> The problem seems to come from >> com.sun.faces.component.CompositeComponentStackManager.findCompositeComponentUsingLocation(FacesContext, >> Location), where the location of composite components fails for my example. >> >> Thanks. >> >> -- >> E-Cards: Schon fertig für die ganz Eiligen oder individuell zum >> Selbstgestalten - für jeden Anlass gibt´s die richtige E-Card auf >> arcor.de. >> http://www.arcor.de/rd/footer.ecard >> > >

