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 <[email protected]> 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.helloworldcontrol...@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.helloworldcontrol...@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.
>
>