关于spring的DelegatingActionProxy

来源:互联网 发布:做广告图片的软件 编辑:程序博客网 时间:2024/05/16 03:05

Proxy for a Spring-managed Struts Action that's defined in ContextLoaderPlugIn's WebApplicationContext.

The proxy is defined in the Struts config file, specifying thisclass as action class. It will delegate to a Struts Action bean in theContextLoaderPlugIn context.

<action path="/login" type="org.springframework.web.struts.DelegatingActionProxy"/>The name of the Action bean in the WebApplicationContext will bedetermined from the mapping path and module prefix. This can becustomized 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 contextlooks as follows, being able to fully leverage Spring's configurationfacilities:

<bean name="/login" class="myapp.MyAction"> <property name="...">...</property> </bean>Note that you can use a single ContextLoaderPlugIn for all Strutsmodules. That context can in turn be loaded from multiple XML files,for example split according to Struts modules. Alternatively, defineone ContextLoaderPlugIn per Struts module, specifying appropriate"contextConfigLocation" parameters. In both cases, the Spring bean namehas to include the module prefix.