[jbossseam-issues] [JBoss JIRA] Closed: (JBSEAM-494) Exception resolving EL expression containing a function

Gavin King (JIRA) jira-events at jboss.com
Sun Nov 19 12:42:41 EST 2006


     [ http://jira.jboss.com/jira/browse/JBSEAM-494?page=all ]

Gavin King closed JBSEAM-494.
-----------------------------

    Resolution: Done

"fixed", but I think this "fix" is just papering over the real problem which is that Stan's pre-parser does not recognize an EL function. If I'm right about this, then we know this will rise up to bite us again.

> Exception resolving EL expression containing a function
> -------------------------------------------------------
>
>                 Key: JBSEAM-494
>                 URL: http://jira.jboss.com/jira/browse/JBSEAM-494
>             Project: JBoss Seam
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.1.0.BETA2
>         Environment: jboss-4.0.5.GA on Windows XP, jboss-seam-1.1.0.BETA2
>            Reporter: Richard Leherpeur
>         Assigned To: Stan Silvert
>             Fix For: 1.1.0.CR1
>
>
> The following code throws an expection:
> <h:outputText value="#{messages[pc:getKey(context, bean.name)]}" />
> 	
> where pc is the tag library where the getKey is defined.
> This was used to work in Beta 1 but is broken in Beta 2.
> The exception is:
> Code:
> SEVERE: Error Rendering View[/public/test/test.xhtml]
> com.sun.facelets.tag.TagAttributeException: /public/test/test.xhtml @17,98 value="#{messages[pc:getKey(context, bean.name)]}" Error Parsing: #{messages.pc:getKey}
> 	at com.sun.facelets.tag.TagAttribute.getValueExpression(TagAttribute.java:259)
> 	at com.sun.facelets.tag.jsf.ValueHolderRule$DynamicValueBindingMetadata.applyMetadata(ValueHolderRu
> le.java:115)
> 	at com.sun.facelets.tag.MetadataImpl.applyMetadata(MetadataImpl.java:36)
> 	at com.sun.facelets.tag.MetaTagHandler.setAttributes(MetaTagHandler.java:62)
> 	at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:140)
> 	at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
> 	at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:295)
> 	at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:165)
> 	at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
> 	at com.sun.facelets.tag.ui.DefineHandler.apply(DefineHandler.java:58)
> 	at com.sun.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:128)
> 	at com.sun.facelets.impl.DefaultFaceletContext$TemplateManager.apply(DefaultFaceletContext.java:306
> )
> 	at com.sun.facelets.impl.DefaultFaceletContext.includeDefinition(DefaultFaceletContext.java:279)
> 	at com.sun.facelets.tag.ui.InsertHandler.apply(InsertHandler.java:68)
> 	at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
> 	at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:295)
> 	at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:165)
> 	at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
> 	at com.sun.facelets.tag.ui.DefineHandler.apply(DefineHandler.java:58)
> 	at com.sun.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:128)
> 	at com.sun.facelets.impl.DefaultFaceletContext$TemplateManager.apply(DefaultFaceletContext.java:306
> )
> 	at com.sun.facelets.impl.DefaultFaceletContext.includeDefinition(DefaultFaceletContext.java:279)
> 	at com.sun.facelets.tag.ui.InsertHandler.apply(InsertHandler.java:68)
> 	at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
> 	at com.sun.facelets.tag.jsf.core.ViewHandler.apply(ViewHandler.java:109)
> 	at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
> 	at com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49)
> 	at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
> 	at com.sun.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:25)
> 	at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:248)
> 	at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:294)
> 	at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:273)
> 	at com.sun.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:143)
> 	at com.sun.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:113)
> 	at com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49)
> 	at com.sun.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:25)
> 	at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:248)
> 	at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:294)
> 	at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:273)
> 	at com.sun.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:143)
> 	at com.sun.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:113)
> 	at com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49)
> 	at com.sun.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:25)
> 	at com.sun.facelets.impl.DefaultFacelet.apply(DefaultFacelet.java:95)
> 	at com.sun.facelets.FaceletViewHandler.buildView(FaceletViewHandler.java:510)
> 	at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:553)
> 	at org.ajax4jsf.framework.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:101)
> 	at org.ajax4jsf.framework.ajax.AjaxViewHandler.renderView(AjaxViewHandler.java:197)
> 	at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:384)
> 	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:138)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252
> )
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> 	at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:144)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202
> )
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> 	at org.jboss.seam.servlet.SeamExceptionFilter.doFilter(SeamExceptionFilter.java:46)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202
> )
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> 	at org.jboss.seam.servlet.SeamRedirectFilter.doFilter(SeamRedirectFilter.java:32)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202
> )
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> 	at org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:67)
> 	at org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:223)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202
> )
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> 	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202
> )
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
> 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
> 	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
> 	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
> 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
> 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
> 	at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
> 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
> 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
> 	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
> 	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11Base
> Protocol.java:664)
> 	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
> 	at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
> 	at java.lang.Thread.run(Thread.java:595)
> Caused by: javax.el.ELException: Error Parsing: #{messages.pc:concat}
> 	at com.sun.el.lang.ExpressionBuilder.createNodeInternal(ExpressionBuilder.java:140)
> 	at com.sun.el.lang.ExpressionBuilder.build(ExpressionBuilder.java:157)
> 	at com.sun.el.lang.ExpressionBuilder.createValueExpression(ExpressionBuilder.java:201)
> 	at com.sun.el.ExpressionFactoryImpl.createValueExpression(ExpressionFactoryImpl.java:74)
> 	at org.jboss.seam.ui.facelet.ParamValueExpression.<init>(ParamValueExpression.java:50)
> 	at org.jboss.seam.ui.facelet.SeamExpressionFactory.createValueExpression(SeamExpressionFactory.java
> :108)
> 	at com.sun.facelets.tag.TagAttribute.getValueExpression(TagAttribute.java:256)
> 	... 81 more
> Caused by: com.sun.el.parser.ParseEx
> 15:02:36,046 ERROR [STDERR] ception: Encountered ":concat" at line 1, column 14.
> Was expecting one of:
>     "}" ...
>     "." ...
>     "[" ...
>     ">" ...
>     "gt" ...
>     "<" ...
>     "lt" ...
>     ">=" ...
>     "ge" ...
>     "<=" ...
>     "le" ...
>     "==" ...
>     "eq" ...
>     "!=" ...
>     "ne" ...
>     "&&" ...
>     "and" ...
>     "||" ...
>     "or" ...
>     "*" ...
>     "+" ...
>     "-" ...
>     "?" ...
>     "/" ...
>     "div" ...
>     "%" ...
>     "mod" ...
>     
> 	at com.sun.el.parser.ELParser.generateParseException(ELParser.java:1651)
> 	at com.sun.el.parser.ELParser.jj_consume_token(ELParser.java:1531)
> 	at com.sun.el.parser.ELParser.DeferredExpression(ELParser.java:134)
> 	at com.sun.el.parser.ELParser.CompositeExpression(ELParser.java:61)
> 	at com.sun.el.lang.ExpressionBuilder.createNodeInternal(ExpressionBuilder.java:103)
> 	... 87 more
> 	

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the seam-issues mailing list