Proxy for a Spring-managed Struts Action that's defined in ContextLoaderPlugIn's WebApplicationContext.
The proxy is defined in the Struts config file, specifying this class as action class. It will delegate to a Struts Action bean in the ContextLoaderPlugIn context.
<action path="/login" type="org.springframework.web.struts.DelegatingActionProxy"/> The name of the Action bean in the WebApplicationContext will be determined from the mapping path and module prefix. This can be customized by overriding the determineActionBeanName method.Example:
- mapping path "/login" -> bean name "/login"
- mapping path "/login", module prefix "/mymodule" -> bean name "/mymodule/login"
A corresponding bean definition in the ContextLoaderPlugin context looks as follows, being able to fully leverage Spring's configuration facilities:
<bean name="/login" class="myapp.MyAction"> <property name="...">...</property> </bean> Note that you can use a single ContextLoaderPlugIn for all Struts modules. That context can in turn be loaded from multiple XML files, for example split according to Struts modules. Alternatively, define one ContextLoaderPlugIn per Struts module, specifying appropriate "contextConfigLocation" parameters. In both cases, the Spring bean name has to include the module prefix.
本文介绍如何使用DelegatingActionProxy将Struts与Spring框架进行集成。通过在Struts配置文件中定义代理,并利用Spring的ContextLoaderPlugIn,可以实现Struts Action由Spring管理并配置。文中还详细说明了如何定制Action bean名称以及Spring配置文件的组织方式。

789

被折叠的 条评论
为什么被折叠?



