通过struts的零配置得不到spring创建的action对象,但是struts本身的配置能得到
搞了好久没搞懂什么原因。。struts-spring-plugin 和 struts-codebehind-plugin 的包也引了的 <filter>
   <filter-name>struts2</filter-name>
   <filter-class>
   org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
   </filter-class>
  <init-param>
<param-name>actionPackages</param-name>
<param-value>
com.bonc.excelimport.action
</param-value>
</init-param>
  </filter>
  <filter-mapping>
   <filter-name>struts2</filter-name>
   <url-pattern>*.action</url-pattern>
  </filter-mapping>这个是struts零配置相关   <bean id="action" class="com.bonc.excelimport.action.ImportExcelAction" scope="prototype">
<property name="busi" ref="busi"></property> 
    </bean>
这个是spring的配置
<struts>
<constant name="struts.codebehind.pathPrefix" value="/pages/" />
<constant name="struts.devMode" value="true" />

<package name="default" extends="struts-default">
<action name="import" class="com.bonc.excelimport.action.ImportExcelAction">
<result name="success">
/pages/ImportExcel.jsp
</result>
</action>
</package>
</struts>   struts的配置访问 http://localhost:8080/EXCELimport/ImportExcel.action 用<s:debug> 标签看到的是ActionSuport
访问 http://localhost:8080/EXCELimport/import.action 用<s:debug> 标签看到的是就是ImportExcelAction这个类了 而且action中的属性busi也注入进去了

解决方案 »

  1.   

    个人认为:sprint 整合struts2无非就那几步。
    1.引入struts-spring-plugin.jar
    2.更改struts的objectFactory创建action方式.可以在struts.properties与struts.xml中改都可以。
      如在:struts.properties加入:struts.objectFactory = spring
    3.在spring 配置文件中声明struts中的action,配置对应的属性。
    4.修改struts配置文件的class="com.bonc.excelimport.action.ImportExcelAction" 改为class="spring中定义的beanId"
    个人认为你就做了第一步骤。其他几步也要加入。