嵌套复合组件:父尝试获取子属性

时间:2017-06-13 12:42:57

标签: jsf primefaces attributes nested composite

一方面,我在自定义复合组件(ListaPaginadaComposite)中有一个primefaces dataTable,在其列中,用户可以添加他们想要的任何内容。

另一方面,我有另一个自定义复合组件(ListaValoresComposite),我将其插入到第一个组件的列中。

好吧,或多或少,但是当父复合本身刷新时,我得到PropertyNotFoundException,因为它试图获得子属性(' child')在自身。我在试图解决这个问题时生气,有没有人知道如何让myfaces正确地解决#{cc},父母或孩子,而不是总是解决父母的问题? ValueExpression的位置指向正确的xhtml(listaValores.xhtml),但#{cc}始终解析为ListaPaginadaComposite。

我正在使用Primefaces 6.1和Myfaces 2.2.12。

13/06/2017 14:38:00,551 [ERROR] (componentes.application.AtlasAjaxExceptionHandler.logException) - AtlasAjaxExceptionHandler: Se ha producido un error procesando un petición AJAX de JSF. La página '/errorInfo' será mostrada.
    javax.el.PropertyNotFoundException: Propiedad 'child' no hallada en el tipo atlas.componentes.composite.ListaPaginadaComposite
        at javax.el.BeanELResolver$BeanProperties.get(BeanELResolver.java:290)
        at javax.el.BeanELResolver$BeanProperties.access$300(BeanELResolver.java:243)
        at javax.el.BeanELResolver.property(BeanELResolver.java:377)
        at javax.el.BeanELResolver.getValue(BeanELResolver.java:97)
        at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:67)
        at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:179)
        at com.sun.el.parser.AstValue.getValue(AstValue.java:116)
        at com.sun.el.parser.AstValue.getValue(AstValue.java:163)
        at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:219)
        at org.apache.myfaces.view.facelets.el.ContextAwareTagValueExpression.getValue(ContextAwareTagValueExpression.java:96)
        at org.apache.myfaces.view.facelets.el.LocationValueExpression.getValue(LocationValueExpression.java:127)
        at javax.faces.component._DeltaStateHelper.eval(_DeltaStateHelper.java:360)
        at javax.faces.component.UIData.getValue(UIData.java:2135)
        at org.primefaces.component.api.UIData.getDataModel(UIData.java:764)
        at org.primefaces.component.api.UIData.setRowModel(UIData.java:571)
        at org.primefaces.component.api.UIData.setRowIndexWithoutRowStatePreserved(UIData.java:564)
        at org.primefaces.component.api.UIData.setRowIndex(UIData.java:473)
        at org.primefaces.component.api.UIData.processPhase(UIData.java:323)
        at org.primefaces.component.api.UIData.processValidators(UIData.java:301)
        at javax.faces.component.UIInput.processValidators(UIInput.java:269)
        at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1458)
        at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1458)
        at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1458)
        at javax.faces.component.UIInput.processValidators(UIInput.java:262)
        at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1451)
        at org.primefaces.component.celleditor.CellEditor.processValidators(CellEditor.java:86)
        at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1458)
        at org.primefaces.component.api.UIData.process(UIData.java:382)
        at org.primefaces.component.api.UIData.processChildren(UIData.java:366)
        at org.primefaces.component.api.UIData.processPhase(UIData.java:328)
        at org.primefaces.component.api.UIData.processValidators(UIData.java:301)
        at org.primefaces.component.datatable.DataTable.processValidators(DataTable.java:844)
        at org.apache.myfaces.context.servlet.PartialViewContextImpl$PhaseAwareVisitCallback.visit(PartialViewContextImpl.java:788)
        at org.richfaces.context.MetaComponentProcessingVisitCallback.visit(MetaComponentProcessingVisitCallback.java:73)
        at org.richfaces.context.BaseExtendedVisitContext.invokeVisitCallback(BaseExtendedVisitContext.java:103)
        at org.richfaces.context.ExtendedExecuteVisitContext.invokeVisitCallback(ExtendedExecuteVisitContext.java:55)
        at org.primefaces.component.api.UIData.visitTree(UIData.java:827)
...

0 个答案:

没有答案