关闭

Struts和Spring MVC的整合

1502人阅读 评论(0) 收藏 举报

如果打算讲一个已经存在的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进行下一步传递

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:2399706次
    • 积分:29799
    • 等级:
    • 排名:第172名
    • 原创:769篇
    • 转载:165篇
    • 译文:0篇
    • 评论:465条
    最新评论
    北京线点科技有限公司