各位大哥,有空时帮小弟看下。在线等!
报错信息:2011-12-15 14:15:09,233 WARN [org.apache.struts2.dispatcher.Dispatcher] - Could not find action or result
There is no Action mapped for namespace / and action name reg. - [unknown location]
at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:177)
at org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:61)
at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39)
at com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:47)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:458)
at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)struts.xml配置
<package name="default" extends="struts-default">
  <action name="reg" class="reg">
   <result name="success">/regSuc.jsp</result>
   <result name="error">/regFail.jsp</result>
  </action>
 </package>application配置
 <bean name="reg" class="com.test.action.UserAction" scope="prototype">
  <property name="userDaoImpl" ref="userDaoImpl"></property>
 </bean>

解决方案 »

  1.   

    你用的是struts2怎么不指定你的action的方法呢???
      

  2.   

    在配置时不指定方法,就采购用默认方法的execute(),哎,只能上网,Q,msn,skype,都不上了!!! 
    @Override
     public String execute() throws Exception {
     System.out.println("test");
      boolean flag = false;
      flag = userDaoImpl.insertUser(user);
      if(flag){
       return SUCCESS;
      }else{
       return ERROR;
      }
     }
      

  3.   

    <action name="reg" class="reg">
    没有设置method,默认就执行public String execute()方法~
      

  4.   

    试了。还是不行。换成add方法试了。
    <package name="default" extends="struts-default">
      <action name="reg" class="reg" method="add">
       <result name="success">/regSuc.jsp</result>
       <result name="error">/regFail.jsp</result>
      </action>
     </package>
    public String add() {
      System.out.println("asg");
      return "success";
      }
      

  5.   

    你有没有修改,方法或者Action的名称?  你是怎么样访问的,代码贴出来。
      

  6.   

    根据程序走的流程,我贴出代码。
    jap提交表单
    <form action="reg.action" method="get">
         用户名:<input type="text" name="user.username" /><br />
         密&nbsp;&nbsp;码:<input type="password" name="user.password"><br />
         <input type="submit" value="注册" /><input type="reset" value="重置" />
        </form>struts.xml
     <package name="default" extends="struts-default">
      <action name="reg" class="reg" method="add">
       <result name="success">/regSuc.jsp</result>
       <result name="error">/regFail.jsp</result>
      </action>
     </package>application.xml
     <bean name="reg" class="com.test.action.UserAction" scope="prototype">
      <property name="userDaoImpl" ref="userDaoImpl"></property>
     </bean>action动作处理类
    @Override
     public String execute() throws Exception {
     System.out.println("test");
      boolean flag = false;
      flag = userDaoImpl.insertUser(user);
      if(flag){
       return SUCCESS;
      }else{
       return ERROR;
      }
     }
     
      public String add() {
      System.out.println("asg");
      return "success";
      }默认方法和用add方法,都试过了。还是报错!
    011-12-15 15:05:22,283 WARN [org.apache.struts2.dispatcher.Dispatcher] - Could not find action or result
    There is no Action mapped for namespace / and action name reg. - [unknown location]
    at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:177)
    at org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:61)
    at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39)
    at com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:47)
    at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:458)
    at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
    at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:76)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    at java.lang.Thread.run(Thread.java:619)
    页面报错信息
    HTTP Status 404 - There is no Action mapped for namespace / and action name reg.--------------------------------------------------------------------------------type Status reportmessage There is no Action mapped for namespace / and action name reg.description The requested resource (There is no Action mapped for namespace / and action name reg.) is not available.
    --------------------------------------------------------------------------------
      

  7.   

    2011-12-15 14:15:09,233 WARN [org.apache.struts2.dispatcher.Dispatcher] - Could not find action or result
    There is no Action mapped for namespace / and action name reg. - [unknown location]已经告诉你了
    可能是你页面的jsp所访问的action路径写错了把字贴出来 要不就是你这个struts文件没有和被使用
      

  8.   


    HTTP Status 404 - There is no Action mapped for namespace / and action name reg.
    <form action="reg.action" method="get">
    改成<form action="reg" method="get">或者  action="${上下文路径}/reg"
      

  9.   

    你怎么样访问的? http://   ????
      

  10.   

    访问url: http://localhost:8080/ssh1/reg.jsp
    提交之后http://localhost:8080/ssh1/reg?user.username=34523&user.password=
      

  11.   

    他是叫你修改form表单的提交方式
    <form action="reg" method="get">或者 action="${上下文路径}/reg"
      

  12.   

    你有没有加struts2-spring-xxx.jar包??
    在struts  lib目录下
      

  13.   

    你有没有加struts2-spring-plugin-xxx.jar包??
    在struts lib目录下
      

  14.   

    有struts2-spring-plugin-2.0.11.1.jar包
    web配置如下,
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.5" 
     xmlns="http://java.sun.com/xml/ns/javaee" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
      <!-- 配置Spring -->
      <context-param>
       <param-name>contextConfigLocation</param-name>
       <param-value>
        classpath:application-*.xml
       </param-value>
      </context-param>
      <!-- 配置Struts2 -->
      <filter>
      <filter-name>struts2</filter-name>
      <filter-class>
       org.apache.struts2.dispatcher.FilterDispatcher
      </filter-class>
     </filter>
     <filter-mapping>
      <filter-name>struts2</filter-name>
      <url-pattern>/*</url-pattern>
     </filter-mapping>
      <!-- 配置Spring的监听 -->
      <listener>
       <listener-class>
        org.springframework.web.context.ContextLoaderListener
       </listener-class>
      </listener>
      <!-- 配置Spring的过滤器,解决乱码问题 -->
      <filter>
       <filter-name>encoding</filter-name>
       <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
       <init-param>
        <param-name>encoding</param-name>
        <param-value>UTF-8</param-value>
       </init-param>
      </filter>
      <filter-mapping>
       <filter-name>encoding</filter-name>
       <url-pattern>/*</url-pattern>
      </filter-mapping>
      
      <welcome-file-list>
        <welcome-file>reg.jsp</welcome-file>
      </welcome-file-list>
    </web-app>
      

  15.   

    application配置 去掉scope="prototype
     <bean name="reg" class="com.test.action.UserAction">
      <property name="userDaoImpl" ref="userDaoImpl"></property>
     </bean>
      

  16.   

    你的lib里面是否包含了 antlr-2.7.6.jar 和antlr-2.7.2.jar,这两个只能留一个antlr-2.7.6.jar