通过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也注入进去了
搞了好久没搞懂什么原因。。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也注入进去了
解决方案 »
- JAVA使用POI读取EXCEL错误
- jsp div 弹出框传值问题
- struts2验证框架验证后,前一页面传递过来的值就丢失?怎么办?
- 求助Struts+Hibernate整合实现排序,审核功能
- struts图片显示问题
- 序列化对象保存到xml文件中读取xml时decoder.readObject()异常
- Weblogic8.1中怎么没有找到Tx DataSource
- Hibernate批量更新问题
- eclipse3.0下安装tomcat插件
- 向各位高手求救了,有关文件读取的问题,在线等待!谢谢
- Java工程中的xml文件中的超链接地址已无效,如何解决?
- ajax dwr如何存储request对象
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"
个人认为你就做了第一步骤。其他几步也要加入。