该帖已经被评为良好帖
|
|
---|---|
作者 | 正文 |
发表时间:2006-10-13
Readonly 写道 check out
http://static.springframework.org/spring/docs/2.0.x/api/org/springframework/web/struts/AutowiringRequestProcessor.html AutowiringRequestProcessor 不错,将Spring 与 Struts的关联 从by Path 转为by Class了,对重构来讲方便了。 但是有个问题,我的crud管理模块是用了通配符的,而且路径名是小写的,没办法通配一个大写的类名,怎么办? <action-mappings> <!--使用通配符,对/admin/book 与 /admin/order进行批量配置--> <action path="/admin/*" name="{1}Form" parameter="method" scope="request" validate="false"> <forward name="list" path="/WEB-INF/pages/admin/{1}List.jsp"/> <forward name="edit" path="/WEB-INF/pages/admin/{1}Form.jsp"/> <forward name="success" path="/admin/{1}.do?method=list" redirect="true"/> </action> </action-mappings> 路径是/admin/book, 类名是XXX.XX.BookAction, 有办法作大小写转换么? |
|
返回顶楼 | |
发表时间:2006-10-13
galaxystar 写道 plugin,不知道有谁研究过这个!有什么好处,坏处!?
关于运用Spring来管理Struts的Action,IBM的developerworks有一篇很好的文章: http://www-128.ibm.com/developerworks/java/library/j-sr2.html 其中列举了3种方法,都用到org.springframework.web.struts.ContextLoaderPlugIn。 不过当时的Spring里面还没有 AutowiringRequestProcessor ,他文章中的配置和代码都是运用到了 DelegatingRequestProcessor 。 |
|
返回顶楼 | |
发表时间:2006-12-24
楼上没有理解楼主的意思,这个问题其实在prospring中阐述的挺清楚的,我们公司现在是用getBean,从易用性上来讲,依赖查找不比依赖注入麻烦多少,只不过大家对依赖查找都比较忌讳,如果将struts的action交给spring管理也无不可,只是配置起来麻烦一点,如果让我选择我还是会选择getBean,够简单,呵呵
|
|
返回顶楼 | |
发表时间:2006-12-27
Allen 写道 galaxystar 写道 plugin,不知道有谁研究过这个!有什么好处,坏处!?
关于运用Spring来管理Struts的Action,IBM的developerworks有一篇很好的文章: http://www-128.ibm.com/developerworks/java/library/j-sr2.html 其中列举了3种方法,都用到org.springframework.web.struts.ContextLoaderPlugIn。 不过当时的Spring里面还没有 AutowiringRequestProcessor ,他文章中的配置和代码都是运用到了 DelegatingRequestProcessor 。 IBM developerworks的文章不错,写得很清楚 |
|
返回顶楼 | |
发表时间:2006-12-31
在项目中的使用方法:
1.在Struts配置文件中配置Spring的Plugin,Example: <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn"> <set-property property="contextConfigLocation" value="/WEB-INF/applicationContext.xml" /> </plug-in> 2.Struts中的所有Action配置的type属性都配置为: type="org.springframework.web.struts.DelegatingActionProxy" Example <action path="[b]/saveOrder[/b]" type="org.springframework.web.struts.DelegatingActionProxy" name="insertOrUpdateOrderForm" scope="request" validate="true"> <forward name="success" path="/addorder.jsp"/> <forward name="failure" path="/addorder.jsp"/> </action> 3.Spring中的配置(/WEB-INF/applicationContext.xml): <!--Struts Action IOC配置 --> <bean id="baseAction" class="cn.com.easyzone.eordermis.web.action.BaseAction" abstract="true"> <property name="orderMis" ref="eOrderMis"/> </bean> <bean name=[b]"/saveOrder"[/b] class="cn.com.easyzone.eordermis.web.action.InsertOrUpdateOrderAction" parent="baseAction" singleton="false"> </bean> 注: 1.其中的bean的name必须和Struts中action的配置写的一致。 2.在baseAction中设定一个注入方法,把业务层的Facade注入到BaseAction中,这样的话就可以在各个Action中访问到相应的业务方法了。 |
|
返回顶楼 | |
发表时间:2006-12-31
其实,现在发现用 struts 做表示层的代码实在是太臃肿..
原来 struts 的项目现在都重构到 webwork 了。 |
|
返回顶楼 | |
发表时间:2007-01-25
使用Spring提供的集成方法,使得我们不得不使用spring的api,赞成spring api的入侵,这已经违反了它的松散耦合理念...
哪一天我不再使用spring,代码怎么办,所以上面的baseAction 中取得bean的方式是值得提倡,很容易切换到其它技术... 如果我不再使用spring,只要修改BaseAction中方法,其它所有的struts代码不用修改。。。 |
|
返回顶楼 | |
发表时间:2007-01-26
DispatchActionSupport
|
|
返回顶楼 | |
发表时间:2007-08-17
如果你是struts1.3,请看“零侵入实现struts和spring的集成”
http://www.iteye.com/topic/113507 |
|
返回顶楼 | |
发表时间:2007-08-20
我也是用的lucky_sonic的方法
|
|
返回顶楼 | |