struts 2 没怎么用过,访问http://localhost/mypro/notify/notify!getHotnews.action 这个没有问题,此时的action 的方法名称也是public String getHotnews() ; 如果将此方法名改为public String doHotnews() ,然后访问
http://localhost/mypro/notify/notify!doHotnews.action 则报错,信息如下:
Struts Problem Report
Struts has detected an unhandled exception: Messages: com.hc360.maintain.action.notify.NotityAction.doHotnews() 
 
File: java/lang/Class.java 
Line number: 1,605 
--------------------------------------------------------------------------------Stacktraces
java.lang.NoSuchMethodException: com.hc360.maintain.action.notify.NotityAction.doHotnews() 
    java.lang.Class.getMethod(Class.java:1605)
    org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.getActionMethod(AnnotationValidationInterceptor.java:75)
    org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:47)
    com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:133)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)
    com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

为什么呢? 方法名不能以do开头吗 ?没看过源码,谁能解释下

解决方案 »

  1.   

    struts2 中 访问某个action中的某个方法  都是需要在配置文件里边配置的<action name="***Action" class="***"
    method="doHotnews">
    <result name="list***.jsp</result>
    </action>你看看  你是不是配置了getHotnews() 而没有配置doHotnews()方法
      

  2.   

    可能没有编译发布到服务器里,看tomcat里发布编译后的class文件里有没该方法