Re: Resolution of implicit ELExpressions
Markus Jung <[email protected]> Thu, 30 Jan 2025 13:01:35 +0100
| Newsgroups | gmane.comp.java.openejb.user |
|---|---|
| Message-ID | <[email protected]> |
Hey Till,
this is definitely not a known issue, thanks for reporting! We had a
similar issue like this a couple months ago in our milestone phase:
https://issues.apache.org/jira/browse/TOMEE-4355
I filed a bug for this in our JIRA so we can keep track of this
https://issues.apache.org/jira/browse/TOMEE-4450
Thanks
Markus
On 30.01.25 12:34, Till Gräfenberg wrote:
> Hello together,
>
> Starting with TomEE Plume 10.0.0 I mentioned some issues in resolving
> implicit ELExpressions like "#{request}" or "#{session}" in my JSF
> project.
>
> The resolved expression is a proxy object without any initialized
> attributes.
>
> In order to reproduce this issue, I set up a vanilla TomEE Plume
> installation. The faces servlet is configured. Loading the following
> .xhtml page:
>
> <html xmlns="http://www.w3.org/1999/xhtml"
> xmlns:h="jakarta.faces.html"> <h:body><h:outputText
> value="#{request.contextPath}"/></h:body></html>
>
> gives this error message:
>
> 30-Jan-2025 12:04:14.294 SCHWERWIEGEND [http-nio-8080-exec-8]
> com.sun.faces.application.view.FaceletViewHandlingStrategy.handleRenderException
>
> Error Rendering View[/index.xhtml]
> jakarta.el.PropertyNotFoundException: /index.xhtml @15,54
> value="#{request['contextPath']}": Die Eigenschaft [contextPath] wurde
> für den Typ
> [org.apache.webbeans.custom.Object$$OwbNormalScopeProxy6949990480] nicht
> gefunden
> at
> com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:75)
>
> at
> jakarta.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:206)
>
> at
> jakarta.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:175)
>
> at jakarta.faces.component.UIOutput.getValue(UIOutput.java:134)
> at
> com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getValue(HtmlBasicInputRenderer.java:163)
>
> at
> com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getCurrentValue(HtmlBasicRenderer.java:303)
>
> at
> com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:135)
>
> at
> jakarta.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:586)
>
> at
> jakarta.faces.component.UIComponent.encodeAll(UIComponent.java:1442)
> at
> jakarta.faces.component.UIComponent.encodeAll(UIComponent.java:1438)
> at
> jakarta.faces.component.UIComponent.encodeAll(UIComponent.java:1438)
> at
> com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:449)
>
> at
> com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:160)
>
> at
> jakarta.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:125)
>
> at
> com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:93)
>
> at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:72)
> at
> com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:150)
> at
> jakarta.faces.webapp.FacesServlet.executeLifecyle(FacesServlet.java:692)
> at
> jakarta.faces.webapp.FacesServlet.service(FacesServlet.java:449)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195)
>
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
>
> at
> org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
>
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
>
> at
> org.apache.openejb.server.httpd.EEFilter.doFilter(EEFilter.java:67)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
>
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
>
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167)
>
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
>
> at
> org.apache.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.java:45)
> at
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483)
>
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115)
>
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
>
> at
> org.apache.tomee.catalina.OpenEJBSecurityListener$RequestCapturer.invoke(OpenEJBSecurityListener.java:97)
>
> at
> org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:663)
>
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
>
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)
>
> at
> org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397)
>
> at
> org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
>
> at
> org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905)
>
> at
> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1741)
>
> at
> org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
>
> at
> org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190)
>
> at
> org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
>
> at
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)
>
> at java.base/java.lang.Thread.run(Thread.java:840)
> Caused by: jakarta.el.PropertyNotFoundException: Die Eigenschaft
> [contextPath] wurde für den Typ
> [org.apache.webbeans.custom.Object$$OwbNormalScopeProxy6949990480] nicht
> gefunden
> at
> jakarta.el.BeanELResolver$BeanProperties.get(BeanELResolver.java:261)
> at jakarta.el.BeanELResolver.property(BeanELResolver.java:330)
> at jakarta.el.BeanELResolver.getValue(BeanELResolver.java:99)
> at
> com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:139)
>
> at
> com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:164)
>
> at org.apache.el.parser.AstValue.getValue(AstValue.java:161)
> at
> org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:152)
> at
> org.apache.webbeans.el22.WrappedValueExpression.getValue(WrappedValueExpression.java:67)
>
> at
> com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:73)
>
> ... 45 more
>
>
> I couldn't reproduce this behavior in TomEE Plus 10.0.0. Furthermore, I
> couldn't reproduce it on other application servers using Mojarra. Hence,
> I suppose it to be plume specific.
>
> Unfortunately, I was not able to find this issue documented. Is there a
> problem in my configuration? Is it a known issue? Have these expressions
> been removed from the specification?
>
> Thanks in advance
>
>