本帖最后由 zhoujiajun88 于 2013-03-19 10:08:45 编辑

解决方案 »

  1.   

    既然你用Spring了,那么你的struts.xml中的文件就不应该在有class="com.*.*.类名"了,直接用Spring中的id;
    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">       
    <bean id="testServer" class="com.zhoujiajun.server.impl.TestServerImpl">     </bean>       
    <bean id="test" class="com.zhoujiajun.action.TestAction">         
    <property name="testServer">             
    <ref bean="testServer" />         
    </property>     
    </bean> 
    </beans> 
    <package name="struts2" extends="struts-default">         
    <action name="test" class="test">             
    <result name="a">/a.jsp</result>             
    <result name="b">/b.jsp</result>         
    </action>     
    </package> 
      

  2.   

    我记得spring好像是根据name去识别bean的,在你的bean里面加上name属性试试
      

  3.   

    还要在struts.xml中标识出事由spring管理的
    <!-- 指定由spring负责action对象的创建 -->
    <constant name="struts.objectFactory" value="spring" />
      

  4.   

    应该就是struts用到的不是spring实例化并注入的那个TestAction 
      

  5.   

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"><struts>
      
         <constant name="struts.objectFactory" value="spring" /> 
        <package name="struts2" extends="struts-default">
            <action name="test" class="test">
                <result name="a">/a.jsp</result>
                <result name="b">/b.jsp</result>
            </action>
        </package>
    </struts>    <!-- 指定由spring负责action对象的创建 -->
    <constant name="struts.objectFactory" value="spring" /> 
    还有这 <action name="test" class="test">
    既然你把action交给spring管理,就不能写action的路径了。