https://issues.apache.org/bugzilla/show_bug.cgi?id=49925

           Summary: "java.lang.NoSuchMethodException" error when call a
                    managedbean int method
           Product: Tomcat 7
           Version: 7.0.2
          Platform: PC
        OS/Version: Windows XP
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Jasper
        AssignedTo: dev@tomcat.apache.org
        ReportedBy: viola...@gmail.com


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 managedbean calYear(5) parse 5  as Long, not int.

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to