我的世界我的梦

上善若水的程序人生

Struts和Spring MVC的整合

如果打算讲一个已经存在的struts应用迁移到Spring mvc,你会发现你需要将一struts的action导向到一个Spring MVC的controller,用Spring view输出struts action是非常糟糕的行为,如果你的struts应用已经实现了大量的逻辑而且用spring mvc重新实现非常困难或者会耗费大量时间,你可以考虑使用本文的方案,但你必须明白,这只能是个权宜之计 

Struts-config.xml采用如下方式配置action

 

<action path="/fwd"
             type
="com.appress.web.actions.CustomerAction"
             validate
="false"
             <forward name
="success" path="/index.mvc"/>
</action>

CustomerAction中实现转发 return mapping.findForward("success")

Spring mvc配置文件

 

<bean id="videResolver"
           class
="org.springframeworl.web.servlet.view.ResourceBundleViewResolver"?
         <property name
="basename">
             
<value>views</value>
         
</property>
</bean>

<bean id="publicUrlMapping"
           class
="org.springframeworl.web.servlet.handler.SimpleUrlHandlerMapping">
           
<property name="mappings">
              
<props>
                  
<prop key="/index.mvc">indexController</prop>
              
</props> 
          
</property>
</bean>

<bean id="indexController"
           class
="com.appress.controller.IndexController">
          
<property name="methodNameResolver">
                
<ref local="indexMethodNameResolver"/>
          
</property>
</bean>

<bean id="indexMethodNameResolver"
           class
="org,springframework.web.servlet.mvc.multiaction,PropertiesMethodNameResolver"> 
           
<property name="mappings">
               
<props>
                   
<prop key="/index.mvc">handleIndex</prop>
               
<props>
           
</property>
</bean>

 

当我们请求 /fwd.do时候,会自动转发到 /index.mvc  spring前段控制器解析这个请求,并定位到IndexController的handlerIndex方法进行执行,indexControler可以从request中获得struts action传递的数据,然后通过自身的ModelAndView进行下一步传递

阅读更多
个人分类: 经验技巧之Spring
上一篇Struts和Spring集成的两种方式
下一篇使用Properties文件配置实例的创建
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭