[jboss-user] [JBoss Seam] - Problem with EL method call in jboss 4.2 and facelet (newbie

andyredhead do-not-reply at jboss.com
Mon Jun 25 10:00:06 EDT 2007


Hi,

I've just got started with seam, the el and facelets (been working with ejb3 on the server side for a little while).

Until now its all just slotted together - really good stuff :)

However - I've come grinding to a halt trying to use the EL extensions to call a method rather than just read properties.

In my .xhtml file I have the fragment:


  | <td>
  |     <span class="PropValue">#{criteria.entityPropertyValue("id")}</span>
  | </td>
  | 

I'm using a basic jboss 4.2 installation, I've taken the faces-config.xml and web.xml from the jboss 4.2 corrected version of the seam book booking example and I don't include the el jars in my ear file.  I still get the stack trace:

  | javax.el.ELException: Error Parsing: #{criteria.entityPropertyValue("id")}
  | 	at org.apache.el.lang.ExpressionBuilder.createNodeInternal(ExpressionBuilder.java:125)
  | 	at org.apache.el.lang.ExpressionBuilder.build(ExpressionBuilder.java:146)
  | 	at org.apache.el.lang.ExpressionBuilder.createValueExpression(ExpressionBuilder.java:190)
  | 	at org.apache.el.ExpressionFactoryImpl.createValueExpression(ExpressionFactoryImpl.java:68)
  | 	at org.jboss.seam.ui.facelet.SeamExpressionFactory.createValueExpression(SeamExpressionFactory.java:107)
  | 	at com.sun.facelets.el.ELText$ELTextVariable.apply(ELText.java:161)
  | 	at com.sun.facelets.compiler.TextInstruction.apply(TextInstruction.java:56)
  | 	at com.sun.facelets.compiler.UIInstructionHandler.apply(UIInstructionHandler.java:85)
  | 	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.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.apply(DefaultFacelet.java:95)
  | 	at com.sun.facelets.FaceletViewHandler.buildView(FaceletViewHandler.java:503)
  | 	at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:546)
  | 	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
  | 	at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
  | 	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
  | 	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
  | 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
  | 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  | 	at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:63)
  | 	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.MultipartFilter.doFilter(MultipartFilter.java:79)
  | 	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:235)
  | 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  | 	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
  | 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
  | 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  | 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
  | 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
  | 	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
  | 	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
  | 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
  | 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
  | 	at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
  | 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
  | 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
  | 	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
  | 	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
  | 	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
  | 	at java.lang.Thread.run(Thread.java:595)
  | Caused by: org.apache.el.parser.ParseException: Encountered "(" at line 1, column 31.
  | Was expecting one of:
  |     "}" ...
  |     "." ...
  |     "[" ...
  |     ">" ...
  |     "gt" ...
  |     "<" ...
  |     "lt" ...
  |     ">=" ...
  |     "ge" ...
  |     "<=" ...
  |     "le" ...
  |     "==" ...
  |     "eq" ...
  |     "!=" ...
  |     "ne" ...
  |     "&&" ...
  |     "and" ...
  |     "||" ...
  |     "or" ...
  |     "*" ...
  |     "+" ...
  |     "-" ...
  |     "?" ...
  |     "/" ...
  |     "div" ...
  |     "%" ...
  |     "mod" ...
  |     
  | 	at org.apache.el.parser.ELParser.generateParseException(ELParser.java:1874)
  | 	at org.apache.el.parser.ELParser.jj_consume_token(ELParser.java:1754)
  | 	at org.apache.el.parser.ELParser.DeferredExpression(ELParser.java:122)
  | 	at org.apache.el.parser.ELParser.CompositeExpression(ELParser.java:49)
  | 	at org.apache.el.lang.ExpressionBuilder.createNodeInternal(ExpressionBuilder.java:93)
  | 	... 48 more
  | 
  | 

Anyone got any ideas what I'm doing wrong?

web.xml and faces-config.xml shown below...

Thanks

Andy

faces-config


  | <faces-config version="1.2"
  |    xmlns="http://java.sun.com/xml/ns/javaee"
  |    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  |    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd">
  | 
  |     <application>
  |         <view-handler>org.jboss.seam.ui.facelet.SeamFaceletViewHandler</view-handler>
  |         <el-resolver>org.jboss.seam.jsf.SeamELResolver</el-resolver>
  |     </application>
  | 
  |     <lifecycle>
  |         <phase-listener>org.jboss.seam.jsf.SeamPhaseListener</phase-listener>
  |     </lifecycle>
  | 
  | </faces-config>
  | 

web.xml


  | <?xml version="1.0" encoding="UTF-8"?>
  | 
  | <web-app version="2.4" 
  |     xmlns="http://java.sun.com/xml/ns/j2ee"
  |     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  |     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  | 
  |     <!--  context-param>
  |       <param-name>javax.faces.CONFIG_FILES</param-name>
  |       <param-value>/WEB-INF/navigation.xml</param-value>
  |     </context-param-->
  |       
  |     <!-- Seam -->
  |    
  |     <listener>
  |         <listener-class>org.jboss.seam.servlet.SeamListener</listener-class>
  |     </listener>
  | 
  |     <servlet>
  |         <servlet-name>Seam Resource Servlet</servlet-name>
  |         <servlet-class>org.jboss.seam.servlet.ResourceServlet</servlet-class>
  |     </servlet>
  | 
  |     <servlet-mapping>
  |         <servlet-name>Seam Resource Servlet</servlet-name>
  |         <url-pattern>/seam/resource/*</url-pattern>
  |     </servlet-mapping>
  | 
  |     <filter>
  |         <filter-name>Seam Filter</filter-name>
  |         <filter-class>org.jboss.seam.web.SeamFilter</filter-class>
  |     </filter>
  | 
  |     <filter-mapping>
  |         <filter-name>Seam Filter</filter-name>
  |         <url-pattern>/*</url-pattern>
  |     </filter-mapping>
  |     
  |     <!-- MyFaces -->
  |     <!--
  |     <listener>
  |         <listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
  |     </listener>
  |     -->
  | 
  |     <context-param>
  |         <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
  |         <param-value>client</param-value>
  |     </context-param>
  | 
  |     <context-param>
  |         <param-name>facelets.DEVELOPMENT</param-name>
  |         <param-value>true</param-value>
  |     </context-param>
  | 
  |     <context-param>
  |         <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
  |         <param-value>.xhtml</param-value>
  |     </context-param>
  | 
  |     <servlet>
  |         <servlet-name>Faces Servlet</servlet-name>
  |         <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
  |         <load-on-startup>1</load-on-startup>
  |     </servlet>
  | 
  |     <!-- Faces Servlet Mapping -->
  | 
  |     <servlet-mapping>
  |         <servlet-name>Faces Servlet</servlet-name>
  |         <url-pattern>*.seam</url-pattern>
  |     </servlet-mapping>
  | 
  | </web-app>
  | 
  | 
  | 

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

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



More information about the jboss-user mailing list