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-102 I 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