myfaces-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bruno Aranda <brunoara...@gmail.com>
Subject Re: MyFaces 2.0.0 doest not fully support EL 2.2 method invocation
Date Tue, 25 May 2010 16:34:31 GMT
Hi John, this is the diff to make your project work. I started it with:

mvn clean jetty:run

And it ran fine at localhost:8080

Hope this helps,

Cheers,

Bruno


Index: src/main/webapp/WEB-INF/web.xml
===================================================================
--- src/main/webapp/WEB-INF/web.xml (revision )
+++ src/main/webapp/WEB-INF/web.xml (revision )
@@ -15,6 +15,11 @@
         <param-value>Development</param-value>
     </context-param>

+    <context-param>
+
 <param-name>org.apache.myfaces.annotation.SCAN_PACKAGES</param-name>
+        <param-value>org.wjh.experiment.jsf</param-value>
+    </context-param>
+
     <!-- Faces Servlet -->
     <servlet>
         <servlet-name>Faces Servlet</servlet-name>
Index: pom.xml
===================================================================
--- pom.xml (revision )
+++ pom.xml (revision )
@@ -38,6 +38,65 @@
             </plugin>
           </plugins>
         </pluginManagement>
+
+        <plugins>
+            <plugin>
+                <groupId>org.mortbay.jetty</groupId>
+                <artifactId>jetty-maven-plugin</artifactId>
+                <version>7.0.1.v20091125</version>
+                <configuration>
+                    <connectors>
+                        <connector
implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">
+                            <port>8080</port>
+                        </connector>
+                    </connectors>
+                    <scanIntervalSeconds>10</scanIntervalSeconds>
+                    <webAppConfig>
+                        <contextPath>/${pom.artifactId}</contextPath>
+                    </webAppConfig>
+                </configuration>
+                <dependencies>
+                    <dependency>
+                        <groupId>javax.servlet.jsp</groupId>
+                        <artifactId>jsp-api</artifactId>
+                        <version>2.2</version>
+                        <scope>provided</scope>
+                    </dependency>
+                    <dependency>
+                        <groupId>javax.el</groupId>
+                        <artifactId>el-api</artifactId>
+                        <version>2.2.1-b01</version>
+                        <scope>provided</scope>
+                    </dependency>
+                    <dependency>
+                        <groupId>org.glassfish.web</groupId>
+                        <artifactId>el-impl</artifactId>
+                        <version>2.2.1-b01</version>
+                        <scope>provided</scope>
+                    </dependency>
+                    <dependency>
+                        <groupId>org.mortbay.jetty</groupId>
+                        <artifactId>jsp-2.1-glassfish</artifactId>
+                        <version>9.1.1.B60.25.p2</version>
+                        <scope>provided</scope>
+                        <exclusions>
+                            <exclusion>
+                                <groupId>org.mortbay.jetty</groupId>
+                                <artifactId>jsp-api-2.1</artifactId>
+                            </exclusion>
+                            <exclusion>
+                                <groupId>org.mortbay.jetty</groupId>
+                                <artifactId>start</artifactId>
+                            </exclusion>
+                            <exclusion>
+                                <groupId>org.mortbay.jetty</groupId>
+                                <artifactId>jetty-annotations</artifactId>
+                            </exclusion>
+                        </exclusions>
+                    </dependency>
+                </dependencies>
+            </plugin>
+        </plugins>
     </build>

     <dependencies>
@@ -48,6 +107,20 @@
             <scope>runtime</scope>
         </dependency>

+        <!-- JSP 2.2 support (methods etc). May not be needed in recent
J2EE 6 app containers -->
+        <dependency>
+            <groupId>javax.el</groupId>
+            <artifactId>el-api</artifactId>
+            <version>2.2</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.web</groupId>
+            <artifactId>el-impl</artifactId>
+            <version>2.2</version>
+            <scope>runtime</scope>
+        </dependency>
+
         <!--
         <dependency>
             <groupId>javax.servlet</groupId>


On 25 May 2010 17:00, John Wu <JohnWu.Pro@gmail.com> wrote:

>
> Hi Bruno,
>
> Can you please try to deploy the attached project into Jetty and check it?
> I
> can't download Jetty at the moment, will try tomorrow.
>
> I've traced the app, and feel it more like an issue in
> org.apache.myfaces.el.unified.resolver.ScopedAttributeResolver.getType(..).
> It always return java.lang.Object.class (or null) for any scoped attribute.
> I don't think that's correct.
>
> John Wu
>
>
>
> Bruno Aranda wrote:
> >
> > I use EL 2.2 and MyFaces 2.0 without problems, so it must be a Tomcat
> > configuration issue. I use jetty... the maven jetty plugin configured
> like
> > this:
> >
> > <plugin>
> >                 <groupId>org.mortbay.jetty</groupId>
> >                 <artifactId>jetty-maven-plugin</artifactId>
> >                 <version>7.0.1.v20091125</version>
> >                 <configuration>
> >                     <connectors>
> >                         <connector
> > implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">
> >                             <port>${jetty.port}</port>
> >                         </connector>
> >                     </connectors>
> >                     <scanIntervalSeconds>10</scanIntervalSeconds>
> >                     <webAppConfig>
> >                         <contextPath>/${pom.artifactId}</contextPath>
> >
> >
> >
> <jettyEnvXml>${build.outputDirectory}/META-INF/jetty-env.xml</jettyEnvXml>
> >                     </webAppConfig>
> >                 </configuration>
> >                 <dependencies>
> >                     <dependency>
> >                         <groupId>javax.servlet.jsp</groupId>
> >                         <artifactId>jsp-api</artifactId>
> >                         <version>2.2</version>
> >                         <scope>provided</scope>
> >                     </dependency>
> >                     <dependency>
> >                         <groupId>javax.el</groupId>
> >                         <artifactId>el-api</artifactId>
> >                         <version>2.2.1-b01</version>
> >                         <scope>provided</scope>
> >                     </dependency>
> >                     <dependency>
> >                         <groupId>org.glassfish.web</groupId>
> >                         <artifactId>el-impl</artifactId>
> >                         <version>2.2.1-b01</version>
> >                         <scope>provided</scope>
> >                     </dependency>
> >                     <dependency>
> >                         <groupId>org.mortbay.jetty</groupId>
> >                         <artifactId>jsp-2.1-glassfish</artifactId>
> >                         <version>9.1.1.B60.25.p2</version>
> >                         <scope>provided</scope>
> >                         <exclusions>
> >                             <exclusion>
> >                                 <groupId>org.mortbay.jetty</groupId>
> >                                 <artifactId>jsp-api-2.1</artifactId>
> >                             </exclusion>
> >                             <exclusion>
> >                                 <groupId>org.mortbay.jetty</groupId>
> >                                 <artifactId>start</artifactId>
> >                             </exclusion>
> >                             <exclusion>
> >                                 <groupId>org.mortbay.jetty</groupId>
> >
> <artifactId>jetty-annotations</artifactId>
> >                             </exclusion>
> >                         </exclusions>
> >                     </dependency>
> >                 </dependencies>
> >             </plugin>
> >
> > And then I have these dependencies:
> >
> > <!-- JSP 2.2 support (methods etc). May not be needed in recent J2EE 6
> app
> > containers -->
> >         <dependency>
> >             <groupId>javax.el</groupId>
> >             <artifactId>el-api</artifactId>
> >             <version>2.2</version>
> >             <scope>compile</scope>
> >         </dependency>
> >         <dependency>
> >             <groupId>org.glassfish.web</groupId>
> >             <artifactId>el-impl</artifactId>
> >             <version>2.2</version>
> >             <scope>runtime</scope>
> >         </dependency>
> >
> > That works without problems, so you may be having an EL problem
> > somewhere...
> >
> > Cheers,
> >
> > Bruno
> >
> > On 25 May 2010 16:26, John Wu <JohnWu.Pro@gmail.com> wrote:
> >
> >>
> >> A simple EL 2.2 method invocation
> >> "#{helloWorldController.doSomething(helloWorldModel)}" fails with
> >> following
> >> exception:
> >>
> >> javax.faces.el.MethodNotFoundException:
> javax.el.MethodNotFoundException:
> >> /helloWorld.xhtml at line 15 and column 85
> >> action="#{helloWorldController.doSomething(helloWorldModel)}": Method
> not
> >> found:
> >>
> >>
> com.bns.sol.brokerage.entitlement.admin.web.HelloWorldController@1e7fe8e.doSomething
> >> (java.lang.Object)
> >>        at
> >>
> >>
> javax.faces.component._MethodExpressionToMethodBinding.invoke(_MethodExpressionToMethodBinding.java:92)
> >>        at
> >>
> >>
> org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:100)
> >>        at javax.faces.component.UICommand.broadcast(UICommand.java:120)
> >>        at
> >> javax.faces.component.UIViewRoot._broadcastAll(UIViewRoot.java:890)
> >>        at
> >> javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:234)
> >>        at
> javax.faces.component.UIViewRoot._process(UIViewRoot.java:1202)
> >>        at
> >> javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:623)
> >>        at
> >>
> >>
> org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:35)
> >>        at
> >>
> >>
> org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:143)
> >>        at
> >>
> org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:93)
> >>        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:189)
> >>        at
> >>
> >>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> >>        at
> >>
> >>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> >>        at
> >>
> >>
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
> >>        at
> >>
> >>
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
> >>        at
> >>
> >>
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> >>        at
> >>
> >>
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> >>        at
> >>
> >>
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> >>        at
> >>
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
> >>        at
> >>
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
> >>        at
> >>
> >>
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
> >>        at
> >> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
> >>        at java.lang.Thread.run(Thread.java:619)
> >> Caused by: javax.el.MethodNotFoundException: /helloWorld.xhtml at line
> 15
> >> and column 85
> >> action="#{helloWorldController.doSomething(helloWorldModel)}":
> >> Method not found:
> >>
> >>
> com.bns.sol.brokerage.entitlement.admin.web.HelloWorldController@1e7fe8e.doSomething
> >> (java.lang.Object)
> >>        at
> >>
> >>
> org.apache.myfaces.view.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:91)
> >>        at
> >>
> >>
> javax.faces.component._MethodExpressionToMethodBinding.invoke(_MethodExpressionToMethodBinding.java:88)
> >>        ... 22 more
> >>
> >> The environment:
> >> . Tomcat 6.0.26 with EL 2.2 (Replaces lib/el-api.jar and
> >> lib/jasper-el.jar
> >> with the corresponding jars from tomcat-7.0.0-RC2, available at
> >> http://people.apache.org/~markt/dev/tomcat-7/v7.0.0-RC2/);
> >> . MyFaces core 2.0.0
> >> . I'm using Facelets, no JSP invovled at all.
> >>
> >> The JSF RI 2.0.2 has the same issue.
> >>
> >> Is that a known issue? If yes, the link? If not, how can I create one?
> >>
> >> A sample maven project is attached.
> >> http://old.nabble.com/file/p28669825/jsf-2.0-el-2.2.zip
> >> jsf-2.0-el-2.2.zip
> >> --
> >> View this message in context:
> >>
> http://old.nabble.com/MyFaces-2.0.0-doest-not-fully-support-EL-2.2-method-invocation-tp28669825p28669825.html
> >> Sent from the MyFaces - Users mailing list archive at Nabble.com.
> >>
> >>
> >
> >
>
> --
> View this message in context:
> http://old.nabble.com/MyFaces-2.0.0-doest-not-fully-support-EL-2.2-method-invocation-tp28669825p28670195.html
> Sent from the MyFaces - Users mailing list archive at Nabble.com.
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message