[jboss-user] [JBoss Seam] - Method binding with context variable as a parameter - parser

dkane do-not-reply at jboss.com
Wed Jun 20 10:40:36 EDT 2007


Hello 

In example 1.23 listing of Seam documentation I see the code : 

<h:dataTable value="#{hotels}" var="hot" rendered="#{hotels.rowCount>0}">
  |     <h:column>
  |       <f:facet name="header">Name</f:facet>
  |       #{hot.name}
  |     </h:column>
  |     <h:column>
  |       <f:facet name="header">Address</f:facet>
  |       #{hot.address}
  |     </h:column>
  |     <h:column>
  |       <f:facet name="header">City, State</f:facet>
  |       #{hot.city}, #{hot.state}, #{hot.country}
  |     </h:column> 
  |     <h:column>
  |       <f:facet name="header">Zip</f:facet>
  |       #{hot.zip}
  |     </h:column>
  |     <h:column>
  |       <f:facet name="header">Action</f:facet>
  |       <s:link value="View Hotel" action="#{hotelBooking.selectHotel(hot)}"/>             
  |     </h:column>
  |   </h:dataTable>
  | 

And, the comment : 

Also notice that we use a method binding with a parameter: #{hotelBooking.selectHotel(hot)}. This is not possible in the standard Unified EL, but Seam provides an extension to the EL that lets you use parameters on any method binding expression

My code is : 

  | <h:dataTable id="partsTbl" value="#{parts}" var="part" rendered="#{parts.rowCount>0}">
  | 		<h:column>
  |                     ......
  | 		</h:column>		
  | 		<h:column>		
  | 		 <s:button action="#{cart.addPart(part,1)}" value="Add to Cart"/> 
  |     	</h:column>		
  | 	</h:dataTable>
  | 

And, I am getting the exception : 



com.sun.facelets.tag.TagAttributeException: /parts.xhtml @66,68 action="#{cart.addPart(part,1)}" Error Parsing: #{cart.addPart(part,1)}
  | 	at com.sun.facelets.tag.TagAttribute.getMethodExpression(TagAttribute.java:144)
  | 	at com.sun.facelets.tag.jsf.ActionSourceRule$ActionMapper.applyMetadata(ActionSourceRule.java:50)
  | 	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:144)
  | 	at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314)
  | 	at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169)
  | 	at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
  | 	at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314)
  | 	at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169)
  | 	at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
  | 	at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314)
  | 	at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169)
  | 	at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
  | 	at com.sun.facelets.tag.ui.DefineHandler.applyDefinition(DefineHandler.java:64)
  | 	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:503)
  | 	at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:546)
  | 	at org.ajax4jsf.framework.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108)
  | 	at org.ajax4jsf.framework.ajax.AjaxViewHandler.renderView(AjaxViewHandler.java:229)
  | 	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.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:63)
  | 	at org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:60)
  | 	at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
  | 	at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:79)
  | 	at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
  | 	at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
  | 	at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
  | 	at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:57)
  | 	at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
  | 	at org.jboss.seam.web.SeamFilter.doFilter(SeamFilter.java:84)
  | 	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:799)
  | Caused by: javax.el.ELException: Error Parsing: #{cart.addPart(part,1)}
  | 	at com.sun.el.lang.ExpressionBuilder.createNodeInternal(ExpressionBuilder.java:160)
  | 	at com.sun.el.lang.ExpressionBuilder.build(ExpressionBuilder.java:177)
  | 	at com.sun.el.lang.ExpressionBuilder.createMethodExpression(ExpressionBuilder.java:228)
  | 	at com.sun.el.ExpressionFactoryImpl.createMethodExpression(ExpressionFactoryImpl.java:70)
  | 	at com.sun.facelets.tag.TagAttribute.getMethodExpression(TagAttribute.java:141)
  | 	... 67 more
  | Caused by: com.sun.el.parser.ParseException: Encountered "(" at line 1, column 15.
  | 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:128)
  | 	... 71 more


What am I doing wrong ? 

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4056059#4056059

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4056059



More information about the jboss-user mailing list