我用的struts2,我的action配置文件的action标签的name是dealerInfoEdit,  为什么我操作的时候没有报错,但是过一会了就会出现这个错误。这个是什么原因呢,我浏览器地址栏请求的也是dealerInfoEdit ......
2011-03-17 09:19:56,203 [org.apache.struts2.dispatcher.Dispatcher]-[ERROR] Could not find action or result
There is no Action mapped for namespace / and action name dealerinfoedit. - [unknown location]
at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:186)
at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:41)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:494)
at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:419)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)

解决方案 »

  1.   

    There is no Action mapped for namespace / and action name dealerinfoedit. - [unknown location说的很明白了,没有找到映射的action  ,看看你是不是配置错了,大小写是区分的,在struts的配置文件中。
      

  2.   

    你的action name 是不是带“/”了?
    贴下你的具体action配置~
      

  3.   

    <action name="dealerInfoEdit" class="ShopAction" method="dealerInfoEdit" >
    <result name="success">/WEB-INF/page/shop/dealer_info_edit.jsp</result>
    </action>
      

  4.   

    你请求的表单中红的action配置和你struts2中的 action配置以及命名空间等...贴出来看看
      

  5.   

    <package name="struts-shop" namespace="" extends="default">  没有用命名空间 
      

  6.   

    <a href="javascript:huayang.common.openDlg('dealerInfoEdit.do?dealerno=4028812a2e83e038012e83fc27630004');">编辑</a>  页面请求的代码
      

  7.   

    把package标签中的namespace去掉,如果还不行试试把extends的default换成struts-default
      

  8.   

    <package name="default" extends="struts-default">  我有一个总的struts.xml文件的,里面的package是这样。 其余的extends default
      

  9.   

    会不会是没有把这个package
    <package name="struts-shop" extends="default">
    所在的xml文件放到struts.xml中?
      

  10.   

    放进去了,不放进去会找不到action,出现异常的。
      

  11.   

    struts的配置文件在src目录下吗?
    你可以把default换成struts-default试试,看能否访问
      

  12.   

    还有一点,struts2.0以后的适配器最好用
    org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
    替换掉FilterDispatcher
      

  13.   

    初学struts2都常遇到这问题,好好检查下配置文件
      

  14.   

    struts2默认请求后缀是.action,
    改这个试试:
    <a href="javascript:huayang.common.openDlg('dealerInfoEdit.action?dealerno=4028812a2e83e038012e83fc27630004');">编辑</a> 
      

  15.   

    <action name="dealerInfoEdit" class="ShopAction" method="dealerInfoEdit" >
    <result name="success">/WEB-INF/page/shop/dealer_info_edit.jsp</result>
    </action>