Help

Controls

PermLinkWikiLink

Built with Seam

You can find the full source code for this website in the Seam package in the directory /examples/wiki. It is licensed under the LGPL.

Forum: Seam Users Forum ListTopic List
12. Aug 2008, 18:24 CET | Link

:(

Have to downgrade my project to Seam 1.2.1 in order to run in JBoss 4.0.4.

Slowly getting things to work, but I don't seem to have enhanced EL. When I try to use parameters with an EL method expression, it chokes like this:

---
12:00:17,624 ERROR [STDERR] Aug 12, 2008 12:00:17 PM com.sun.facelets.FaceletViewHandler handleRenderException
SEVERE: Error Rendering View[/play/profile.xhtml]
com.sun.facelets.tag.TagAttributeException: /play/profile.xhtml @38,81 value="#{utils.getImageValue(playerTrophy.trophy.image)}" Error Parsing: #{utils.getImageValue(playerTrophy.trophy.image)}
        ...
Caused by: com.sun.el.parser.ParseException: Encountered "(" at line 1, column 22.
Was expecting one of:
    "}" ...
    ...
---

Looking at the complete stack trace (pasted below), it doesn't seem like org.jboss.seam.ui.facelet.SeamFaceletViewHandler is getting involved at all.

My web.xml and faces-config.xml are just as seam-gen made them: with the SeamFaceletViewHandler loaded by ajax4jsf:

--- (web.xml)
    <context-param>
        <param-name>org.ajax4jsf.VIEW_HANDLERS</param-name>
        <param-value>org.jboss.seam.ui.facelet.SeamFaceletViewHandler</param-value>
    </context-param>
---

--- (faces-config.xml)
   <application>
      <message-bundle>messages</message-bundle>
      <!-- Disabled when using Ajax4JSF
      <view-handler>org.jboss.seam.ui.facelet.SeamFaceletViewHandler</view-handler>
      -->
   </application>
---

But I've also tried it the other way around, commenting out all the ajax stuff in web.xml and uncommenting-out the view-handler tag in faces-config.xml. No luck.

Can anyone think of something else I need to do to get enhanced EL going in Seam 1.2.1?

Sorry to ask about an older version...


--- (the full stack trace)
12:00:17,624 ERROR [STDERR] Aug 12, 2008 12:00:17 PM com.sun.facelets.FaceletViewHandler handleRenderException
SEVERE: Error Rendering View[/play/profile.xhtml]
com.sun.facelets.tag.TagAttributeException: /play/profile.xhtml @38,81 value="#{utils.getImageValue(playerTrophy.trophy.image)}" Error Parsing: #{utils.getImageValue(playerTrophy.trophy.image)}
        at com.sun.facelets.tag.TagAttribute.getValueExpression(TagAttribute.java:259)
        at com.sun.facelets.tag.jsf.ComponentRule$ValueBindingMetadata.applyMetadata(ComponentRule.java:90)
        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.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.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.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.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.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108)
        at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:216)
        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.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:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
        at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
        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.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)
        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.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:613)
Ca
12:00:17,625 ERROR [STDERR] used by: javax.el.ELException: Error Parsing: #{utils.getImageValue(playerTrophy.trophy.image)}
        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.createValueExpression(ExpressionBuilder.java:221)
        at com.sun.el.ExpressionFactoryImpl.createValueExpression(ExpressionFactoryImpl.java:81)
        at org.jboss.seam.ui.facelet.SeamExpressionFactory.createValueExpression(SeamExpressionFactory.java:107)
        at com.sun.facelets.tag.TagAttribute.getValueExpression(TagAttribute.java:256)
        ... 93 more
Caused by: com.sun.el.parser.ParseException: Encountered "(" at line 1, column 22.
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)
        ... 98 more

8 Replies:
12. Aug 2008, 18:50 CET | Link
Were you not able to upgrade JBoss 4.0.4 to JSF 1.2 RI so you can run Seam 2?
12. Aug 2008, 19:25 CET | Link

No, the client is running JBoss 4.0.4 with Tomcat 5.5. And according to the seam2migration.txt,

- Tomcat 5.5 is not compatible with JSF 1.2

The client is a large corporation and I don't get to make changes to their server configuration.

But Seam EL should work with JSF 1.1, right?

12. Aug 2008, 19:32 CET | Link

I'm not 100% sure, but I think Seam EL enhancements where introduced with version 2.0. I don't think it's possible to make it work with version 1.x

 

There are just two kinds of languages: the ones everybody complains about and the ones nobody uses.

- Bjarne Stroustrup

12. Aug 2008, 19:33 CET | Link

Sorry, were introduced :)

 

There are just two kinds of languages: the ones everybody complains about and the ones nobody uses.

- Bjarne Stroustrup

12. Aug 2008, 19:49 CET | Link

I had a application working with the El enhancements under Seam 1.x under Caucho Resin. I've successfully migrated the application to Seam 2.0 with minimal problems.

 

Regards,

Siarhei

12. Aug 2008, 20:15 CET | Link

No, Seam 1.2.1 is supposed to support enhanced EL. See the Seam 1.2.1 reference Chapter 25: Expression language enhancements.

12. Aug 2008, 20:19 CET | Link

My mistake, sorry !

 

There are just two kinds of languages: the ones everybody complains about and the ones nobody uses.

- Bjarne Stroustrup

12. Aug 2008, 19:55 CET | Link
yeah, I was thinking 4.0.5, sorry about that, from the seam2migration.txt:

Seam 2.0 has been tested on the following containers:

* JBoss 4.2 (it is possible to run Seam2 on JBoss 4.0.5 by upgrading JSF)
ect...