myfaces-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alexey Shakov <alexey.sha...@menta.de>
Subject Re: Exception with c:forEach after upgrading from 2.1 to 2.2
Date Fri, 31 Jul 2015 12:30:11 GMT

Am 31.07.2015 um 14:06 schrieb Felipe Jaekel:
> Hi,
>
> Thanks for the feedback.
>
> In this upgrade process from 2.1 to 2.2, I'm actually moving the code of a
> small webapp that runs 2.1 to a large webapp that already uses 2.2 in
> production.
>
> I won't be able to test everything, so may I experience side effects by
> enabling STRICT_JSF_2_FACELETS_COMPATIBILITY?
In my project i had no problems switching to 
STRICT_JSF_2_FACELETS_COMPATIBILITY=true, but it all depends. Read the 
MyFaces documentation for possible side effects.

> In that case, is there a
> prevision for 2.2.9 release?

You can build 2.2.9-SNAPSHOT from sources or try it with 2.2.7

>
> Thanks
>
> 2015-07-31 3:55 GMT-03:00 Alexey Shakov <alexey.shakov@menta.de>:
>
>> Hi,
>>
>> take a look at this issue
>> https://issues.apache.org/jira/browse/MYFACES-3980, it is probably the
>> reason for your problem.
>>
>> The workaround is to add
>>
>> <context-param>
>>
>> <param-name>org.apache.myfaces.STRICT_JSF_2_FACELETS_COMPATIBILITY</param-name>
>>      <param-value>true</param-value>
>>    </context-param>
>>
>> to web.xml
>>
>> Greetings,
>>
>> Alexey
>>
>>
>> Am 30.07.2015 um 21:48 schrieb Felipe Jaekel:
>>
>>> Hi,
>>>
>>> I have this implementation (JSTL 1.2, PrimeFaces 5.1.20):
>>>
>>> <c:forEach
>>> items="#{avaliacaoController.prova.perguntas}"
>>> var="perguntaProva"
>>> varStatus="status"
>>> <pm:page id="pergunta#{status.index}">
>>> <h:form id="perguntaForm#{status.index}">
>>>
>>> <pm:content>
>>>
>>> <pm:field>
>>> <h:outputText value="#{perguntaProva.numero + 1})
>>> #{perguntaProva.pergunta.texto}" />
>>> <p:selectOneRadio
>>> layout="pageDirection"
>>> converter="entityConverter"
>>> value="#{perguntaProva.pergunta.respostaFechada.resposta}"
>>> <f:selectItems
>>> value="#{perguntaProva.pergunta.respostaList}"
>>> var="resposta"
>>> itemLabel="#{resposta.texto}"
>>> />
>>> <p:ajax
>>> listener="#{avaliacaoController.responder(perguntaProva)}"
>>> process="@this"
>>> />
>>> </p:selectOneRadio>
>>>
>>>
>>>
>>> After upgrading from MyFaces 2.1.17 to 2.2.8, when I click on the radio
>>> button I get the exception below, so I'd like to know if I need additional
>>> configuration or if is it a bug.
>>>
>>> Thanks
>>>
>>>
>>> GRAVE: javax.el.PropertyNotFoundException: Property 'pergunta' not found
>>> on
>>> type org.apache.myfaces.view.facelets.tag.jstl.core.IterationStatus
>>> org.apache.myfaces.view.facelets.el.ContextAwarePropertyNotFoundException:
>>> javax.el.PropertyNotFoundException: Property 'pergunta' not found on type
>>> org.apache.myfaces.view.facelets.tag.jstl.core.IterationStatus
>>> at
>>>
>>> org.apache.myfaces.view.facelets.el.ContextAwareTagValueExpressionUEL.getValueReference(ContextAwareTagValueExpressionUEL.java:56)
>>> at
>>>
>>> javax.faces.validator._BeanValidatorUELUtils.getUELValueReferenceWrapper(_BeanValidatorUELUtils.java:46)
>>> at
>>>
>>> javax.faces.validator.BeanValidator.getValueReference(BeanValidator.java:245)
>>> at javax.faces.validator.BeanValidator.validate(BeanValidator.java:153)
>>> at
>>>
>>> javax.faces.component._ComponentUtils.callValidators(_ComponentUtils.java:276)
>>> at javax.faces.component.UIInput.validateValue(UIInput.java:470)
>>> at javax.faces.component.UISelectOne.validateValue(UISelectOne.java:71)
>>> at javax.faces.component.UIInput.validate(UIInput.java:625)
>>> at javax.faces.component.UIInput.processValidators(UIInput.java:274)
>>> at
>>>
>>> org.apache.myfaces.context.servlet.PartialViewContextImpl$PhaseAwareVisitCallback.visit(PartialViewContextImpl.java:779)
>>> at
>>>
>>> org.apache.myfaces.component.visit.PartialVisitContext.invokeVisitCallback(PartialVisitContext.java:213)
>>> at javax.faces.component.UIComponent.visitTree(UIComponent.java:1016)
>>> at
>>> javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:1191)
>>> at javax.faces.component.UIComponent.visitTree(UIComponent.java:1044)
>>> at
>>> javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:1191)
>>> at javax.faces.component.UIComponent.visitTree(UIComponent.java:1044)
>>> at
>>> javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:1191)
>>> at javax.faces.component.UIForm.visitTree(UIForm.java:345)
>>> at javax.faces.component.UIComponent.visitTree(UIComponent.java:1044)
>>> at
>>> javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:1191)
>>> at javax.faces.component.UIComponent.visitTree(UIComponent.java:1044)
>>> at
>>> javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:1191)
>>> at javax.faces.component.UIComponent.visitTree(UIComponent.java:1044)
>>> at
>>> javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:1191)
>>> at
>>>
>>> org.apache.myfaces.context.servlet.PartialViewContextImpl.processPartialExecute(PartialViewContextImpl.java:430)
>>> at
>>>
>>> org.apache.myfaces.context.servlet.PartialViewContextImpl.processPartial(PartialViewContextImpl.java:411)
>>> at
>>>
>>> org.primefaces.context.PrimePartialViewContext.processPartial(PrimePartialViewContext.java:60)
>>> at
>>>
>>> javax.faces.component.UIViewRoot$ProcessValidatorPhaseProcessor.process(UIViewRoot.java:1797)
>>> at javax.faces.component.UIViewRoot._process(UIViewRoot.java:1655)
>>> at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:909)
>>> at
>>>
>>> org.apache.myfaces.lifecycle.ProcessValidationsExecutor.execute(ProcessValidationsExecutor.java:38)
>>> at
>>>
>>> org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:196)
>>> at
>>> org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:143)
>>> at javax.faces.webapp.FacesServlet.service(FacesServlet.java:198)
>>> at
>>>
>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
>>> at
>>>
>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>>> at
>>>
>>> org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:105)
>>> at
>>>
>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>>> at
>>>
>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>>> at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
>>> at
>>>
>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>>> at
>>>
>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>>> at
>>>
>>> org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
>>> at
>>>
>>> org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
>>> at
>>>
>>> org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
>>> at
>>>
>>> org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
>>> at
>>>
>>> org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
>>> at
>>>
>>> org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
>>> at
>>>
>>> org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
>>> at
>>>
>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>>> at
>>>
>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>>> at
>>>
>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
>>> at
>>>
>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
>>> at org.apache.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.java:44)
>>> at
>>>
>>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
>>> at
>>>
>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
>>> at
>>>
>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
>>> at
>>> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:957)
>>> at
>>>
>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
>>> at
>>>
>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423)
>>> at
>>>
>>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079)
>>> at
>>>
>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:620)
>>> at
>>> org.apache.tomcat.util.net
>>> .NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1747)
>>> at
>>> org.apache.tomcat.util.net
>>> .NioEndpoint$SocketProcessor.run(NioEndpoint.java:1706)
>>> at
>>>
>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>> at
>>>
>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>> at
>>>
>>> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
>>> at java.lang.Thread.run(Thread.java:745)
>>> Caused by: javax.el.PropertyNotFoundException: Property 'pergunta' not
>>> found on type
>>> org.apache.myfaces.view.facelets.tag.jstl.core.IterationStatus
>>> 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.el.parser.AstValue.getTarget(AstValue.java:132)
>>> at org.apache.el.parser.AstValue.getValueReference(AstValue.java:381)
>>> at
>>>
>>> org.apache.el.ValueExpressionImpl.getValueReference(ValueExpressionImpl.java:276)
>>> at
>>>
>>> org.apache.webbeans.el22.WrappedValueExpression.getValueReference(WrappedValueExpression.java:49)
>>> at
>>>
>>> org.apache.myfaces.view.facelets.el.ContextAwareTagValueExpressionUEL.getValueReference(ContextAwareTagValueExpressionUEL.java:52)
>>> ... 67 more
>>>
>>>


Mime
View raw message