删除信息的时候后台会报如下错误,请各位高手帮忙解决一下呗?谢谢啊。
java.lang.NoSuchMethodError: com.vianet.security.IRoleManager.getRoleByKey(Ljava/lang/String;)Lcom/vianet/security/pojo/Role;
at com.vianet.security.action.RoleAction.prepare(RoleAction.java:97)
at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:134)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:148)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:128)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:148)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:468)
at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at com.vianet.base.filter.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:60)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:619)

解决方案 »

  1.   

    1.action没配好
    2.action配好了,但没编译
    3.action里确实没有定义你调用的方法
      

  2.   

    谢谢二位
    回1楼,我感觉这几个都没有问题啊
    配置文件里的
    <package name="role" extends="default" namespace="/role">
            <!-- Default interceptor stack. -->
            <default-interceptor-ref name="crudStack" />        <action name="list" class="roleAction" method="list">
                <result name="success">/WEB-INF/jsp/juese.jsp
                </result>
            </action>        <action name="edit-*" class="roleAction" method="edit">
                <param name="roleId">{1}</param>
                <result>/WEB-INF/jsp/updateRole.jsp
                </result>
            </action>
            
            <action name="edit" class="roleAction" method="edit">
                <result>/WEB-INF/jsp/updateRole.jsp
                </result>
            </action>        <action name="add" class="roleAction" method="add">
                <result type="redirect">list.action</result>
            </action>
            <action name="save_role" class="roleAction" method="save_role">
                <result name="input">/WEB-INF/jsp/updateRole.jsp
                </result>
                <result type="redirect">list.action</result>
            </action>
            <action name="delete-*" class="roleAction" method="delete">
                <param name="roleId">{1}</param>
                <result type="redirect">list.action</result>
            </action>
        </package>
    action里的删除
      public String delete() throws Exception {
         if (roleId != null)
                roleManager.deleteRole(roleId);
            return SUCCESS;
        }
    回2楼
    我把方法名改了也是出这个错误啊
      

  3.   

    你的action跳转的时候调用的方法在配置文件里面没关联好!
    或者是你跳转的url写错了和配置文件的不对应!