4 Replies Latest reply on Sep 6, 2007 2:10 AM by ohad

    Facelets EL functions do not work

    ulke

      Facelets EL functions do not work after form submit (both normal and ajax). It is certainly classloading problem - org.apache.el tries to load EL function impl. class but there is no appropriate classloader. I studied JBoss classloading model and probed various configurations - without result.

      Environment:


      JBoss Seam 1.2.1.GA
      JBoss AS 4.2.0.GA
      JSF 1.2 (Sun) 1.2_04
      Facelets 1.1.12
      Ajax4jsf 1.1.1
      Richfaces 3.0.1


      10:22:56,291 ERROR [STDERR] java.lang.ClassNotFoundException: No ClassLoaders found for: cz.mydomain.CoreELFunctions
      10:22:56,293 ERROR [STDERR] at org.jboss.mx.loading.LoadMgr3.beginLoadTask(LoadMgr3.java:212)
      10:22:56,293 ERROR [STDERR] at org.jboss.mx.loading.RepositoryClassLoader.loadClassImpl(RepositoryClassLoader.java:514)
      10:22:56,293 ERROR [STDERR] at org.jboss.mx.loading.RepositoryClassLoader.loadClass(RepositoryClassLoader.java:408)
      10:22:56,293 ERROR [STDERR] at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
      10:22:56,293 ERROR [STDERR] at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
      10:22:56,293 ERROR [STDERR] at java.lang.Class.forName0(Native Method)
      10:22:56,293 ERROR [STDERR] at java.lang.Class.forName(Class.java:164)
      10:22:56,293 ERROR [STDERR] at org.apache.el.lang.FunctionMapperImpl$Function.getMethod(FunctionMapperImpl.java:147)
      10:22:56,294 ERROR [STDERR] at org.apache.el.lang.FunctionMapperImpl.resolveFunction(FunctionMapperImpl.java:53)
      10:22:56,294 ERROR [STDERR] at org.apache.el.parser.AstFunction.getValue(AstFunction.java:71)
      10:22:56,294 ERROR [STDERR] at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
      10:22:56,294 ERROR [STDERR] at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:71)
      


        • 1. Re: Facelets EL functions do not work
          pmuir

          post the structure of your deployed application, in particular show where the cz.mydomain.CoreELFunctions class is

          • 2. Re: Facelets EL functions do not work
            ulke

            Nice to read you again. My app is archived as EAR.

            app.ear/
            lib/
            jboss-seam.jar
            ...
            app-ejb.jar/ <--- 2nd try CoreELFunctions
            ...contains Seam components/actions/business logic
            app.war/
            ...view
            WEB-INF/
            classes/ <--- 1nd try CoreELFunctions
            lib/
            jboss-seam-debug.jar
            jboss-seam-ui.jar
            richfaces-3.0.1.jar
            ajax4jsf-1.1.1.jar
            jsf-facelets.jar

            The problem is that EL functions work when rendering page but not after posting actions.

            • 3. Re: Facelets EL functions do not work
              pmuir

              The correct place is in WEB-INF/lib but i know we had issues with this when getting Seam running on JBoss AS 4.2. I would recommend upgrading to Seam2 or running 1.2.1 on AS 4.0.5

              • 4. Re: Facelets EL functions do not work
                ohad

                we'd the same issue in the past,
                downgrading jboss fixed it
                same goes for upgrading seam version