Problem using Expression language enhancements
sjmenden Dec 1, 2006 10:53 AMI've had this problem in CR1 and now CR2.
I follow the instructions in Chapter 18: Expression language enhancements but I still get exceptions when trying whatever.doMethod() in the expression language. Any pointers would be appreciated.
faces-config.xml
<faces-config> <application> <view-handler>org.jboss.seam.ui.facelet.SeamFaceletViewHandler</view-handler> </application> <application> <message-bundle>messages</message-bundle> <view-handler>org.jboss.seam.ui.facelet.SeamFaceletViewHandler</view-handler> </application> <lifecycle> <phase-listener> org.jboss.seam.jsf.SeamExtendedManagedPersistencePhaseListener </phase-listener> </lifecycle> </faces-config>
Purchase.java
@Entity @Role(name="tempPurchase", scope=ScopeType.EVENT) @Table(name="purchases") public class Purchase implements Serializable { ... private String status; ... public String getStatus() { return status; } public void setStatus(String status) { this.status = status; } ... }
viewPurchases.xhtml
<h:column> <f:facet name="header"> <h:commandLink value="Status" action="#{viewPurchases.reorder}"> <f:param name="orderBy" value="status"/> </h:commandLink> </f:facet> <h:outputText value="#{purchase.getStatus()}" /> </h:column>
10:43:01,944 ERROR [STDERR] Dec 1, 2006 10:43:01 AM com.sun.facelets.FaceletViewHandler handleRenderException SEVERE: Error Rendering View[/viewPurchases.xhtml] com.sun.facelets.tag.TagAttributeException: /viewPurchases.xhtml @151,55 value="#{purchase.getStatus()}" Error Parsing: #{purchase.getStatus()} at com.sun.facelets.tag.TagAttribute.getValueExpression(TagAttribute.java:259) at com.sun.facelets.tag.jsf.ValueHolderRule$DynamicValueBindingMetadata.applyMetadata(ValueHolderRule.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.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.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.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.apply(DefaultFacelet.java:95) at com.sun.facelets.FaceletViewHandler.buildView(FaceletViewHandler.java:510) at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:553) 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.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.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.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(Http11BaseProtocol.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:619) Caused by: javax.el.ELException: Error Parsing: #{purchase.getStatus()} 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 com.sun.facelets.tag.TagAttribute.getValueExpression(TagAttribute.java:256) ... 60 more Caused by: com.sun.el.parser.ParseException: Encountered "(" at line 1, column 21. 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) ... 64 more