在网上查看了一些spring找不到action的帖子,都没有具体说怎么解决的,比较着急,谢谢

解决方案 »

  1.   

    1.自动跳转错误,可能是web.xml的配置有问题 
    你的web.xml中是不是这样:
    <welcome-file-list>
       <welcome-file>
        ./reg                                                             //定义首页面
       </welcome-file>
      </welcome-file-list>
    改为:<welcome-file-list>
       <welcome-file>
        /reg.jsp                                                            //定义首页面
       </welcome-file>
      </welcome-file-list>2.web.xml中是否有:
    <filter-mapping>
        <filter-name>Set Character Encoding</filter-name>
        <url-pattern>*.do</url-pattern>                  //定义过滤页面的格式
      </filter-mapping>
    没有加上,确保里面是这样:<url-pattern>*.do</url-pattern> 3.struts-config.xml中的
    <form-bean   name="regForm" 
    type="com.yourcompany.struts.form.RegForm"   /> 
    </form-beans> 中的这个类
    com.yourcompany.struts.form.RegForm
    <action-mappings>中
    里面的这个类:org.springframework.web.struts.DelegatingActionProxy是否存在,位置正确否?书写正确不?
    4,reg.jsp的表单中action="/reg"改为action="/reg.do"
      

  2.   

    非常感谢您的回答,我没有定义默认页面,也没有加入过滤的class,在struts中的org.springframework.web.struts.DelegatingActionProxy这个好像是struts把action控制权交给spring的方法,关于第四个,应该没有问题吧,我在applicationContext里面定义了这个action的访问路径啊,很感谢您的回答,我尝试了一下,还是不可以
      

  3.   

    web.xml如下<?xml version="1.0" encoding="UTF-8"?>
    <!--DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"-->
    <web-app> <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
    /WEB-INF/classes/applicationContext.xml
    </param-value>
    </context-param> <servlet>
    <servlet-name>SpringContextServlet</servlet-name>
    <servlet-class>
    org.springframework.web.context.ContextLoaderServlet
    </servlet-class>
    <load-on-startup>1</load-on-startup>
    </servlet> <servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>
    org.apache.struts.action.ActionServlet
    </servlet-class>
    <init-param>
    <param-name>config</param-name>
    <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
    <init-param>
    <param-name>debug</param-name>
    <param-value>3</param-value>
    </init-param>
    <init-param>
    <param-name>detail</param-name>
    <param-value>3</param-value>
    </init-param>
    <load-on-startup>0</load-on-startup>
    </servlet>
    <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
    </servlet-mapping> <welcome-file-list>
    <welcome-file>/reg.jsp</welcome-file>
    </welcome-file-list>
    </web-app>
      

  4.   

    无论spring怎么配置,你都要在web.xml里解决http://127.0.0.1:8088/reg的显示问题。
      

  5.   

    单从贴出的代码看不出问题出在什么地方,仔细检查一下吧,估计 <action-mappings> 
    <action   attribute="regForm"   input="/reg.jsp"   name="regForm" 
    path="/reg"   scope="request" 
    type="org.springframework.web.struts.DelegatingActionProxy"> 
    <forward   name="suc"   path="/suc"   /> 
    </action> 这里存在问题!
      

  6.   

    十分感谢大家回贴,我开始用的是myeclipse自动导入struts+spring的jar包,可能是兼容有问题,要不就是自动导入的jar包不全,我从别的工程里面把jar包导进来,就可以运行了,谢谢你们
      

  7.   

    折腾了那么长时间,最后我把里面的jar包全部替换掉,问题解决了
    代码没有改动,就是myeclipse自动导入的那些包不全或者是不兼容,具体是怎么回事我还不是非常清楚,毕竟刚接触,非常感谢你们的回答,谢谢