1. Create a managed bean ,define an int field package coreservlets; import javax.faces.bean.*;
@ManagedBean public class SpanishColorMapper extends ColorMapper { private int age; public SpanishColorMapper() { super("Spanish", "rojo", "anaranjado", "amarillo", "verde", "negro", "blanco"); } public int calYear(int x) { return age + x; } public int getAge() { return age; } public void setAge(int x) { age = x; } } 2.Direclty call calYear method in xhtml like: <td>#{spanishColorMapper.calYear(5)}</td> but it's reported that : java.lang.NoSuchMethodException: coreservlets.SpanishColorMapper.calYear(java.lang.Long) Caused by: java.lang.NoSuchMethodException - coreservlets.SpanishColorMapper.calYear(java.lang.Long) javax.faces.FacesException: java.lang.NoSuchMethodException: coreservlets.SpanishColorMapper.calYear(java.lang.Long) at org.apache.myfaces.shared_impl.context.ExceptionHandlerImpl.wrap(ExceptionHandlerImpl.java:241) at org.apache.myfaces.shared_impl.context.ExceptionHandlerImpl.handle(ExceptionHandlerImpl.java:156) at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:258) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:191) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:201) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:163) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:108) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:556) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:401) at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:281) at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579) at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1568) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:619) Caused by: java.lang.NoSuchMethodException: coreservlets.SpanishColorMapper.calYear(java.lang.Long) at java.lang.Class.getMethod(Class.java:1605) at javax.el.BeanELResolver.invoke(BeanELResolver.java:377) at javax.el.CompositeELResolver.invoke(CompositeELResolver.java:137) at org.apache.el.parser.AstValue.getValue(AstValue.java:159) at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:192) at org.apache.myfaces.view.facelets.el.ELText$ELTextVariable.writeText(ELText.java:213) at org.apache.myfaces.view.facelets.compiler.TextInstruction.write(TextInstruction.java:48) at org.apache.myfaces.view.facelets.compiler.UIInstructions.encodeBegin(UIInstructions.java:46) at org.apache.myfaces.view.facelets.compiler.UILeaf.encodeAll(UILeaf.java:214) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:614) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:614) at org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage.renderView(FaceletViewDeclarationLanguage.java:1155) at org.apache.myfaces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:263) at org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:85) at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:239) ... 16 more Seems by default it's set as Long. Is this a bug of EL implementation? Parse number as Long, not type of ManagedBean defined? -- viola