Struts2到SpringMVC - 动作映射

时间:2016-04-29 20:17:59

标签: spring spring-mvc struts2

是否有一个等效/类似的动作映射可用于SpringMVC的xml配置,就像Struts 2一样?

e.g。在Struts2应用程序中我有这个:

<action name="index" class="homeAction">
    <interceptor-ref name="myAppVarsBasic" />
    <interceptor-ref name="defaultStack" />
    <result name="input">/WEB-INF/jsp16/home.jsp</result>
    <result name="userDisplay">/WEB-INF/jsp16/userDisplay.jsp</result>
    <result name="changePassword" type="redirectAction" >passwordReset!changePass.do</result>
</action>

是否有类似的方法来配置动作映射,重定向以及使用xml配置的Spring MVC的位置?

我自己(在SO和谷歌的帮助下)向SpringMVC教授S2但是找到了大部分资源&#39;似乎&#39;直接从动作处理重定向(或者是MVC中的Controller?),例如:

return "redirect:index";

谢谢你,KA。

1 个答案:

答案 0 :(得分:1)

  

是否有一个等效/类似的动作映射可用于SpringMVC的xml配置,就像Struts 2一样?

Spring MVC具有基于xml的配置,注释和JavaConfig。它的xml配置文件中有几个名称空间。最有用的是beans命名空间。在那里,您可以定义bean配置。您可以在bean的name属性中定义路径或使用@RequestMapping注释。

当Struts2与Spring集成时,您可以在struts.xml中配置操作,并在applicationContext.xml中为操作类定义bean。在动作配置中,您只需放置一个bean的id。

,而不是class

在Spring MVC中,您可以将请求路径映射到具有@RequestMapping注释的方法。它类似于Struts1映射其动作。在Spring MVC 4中它还支持通配符和正则表达式以匹配请求路径。

Spring也有拦截器,但它们只是AOP命名空间中的切入点。当然你可以在Spring配置中使用它们。

Struts2中的结果只是初始操作结束时执行的另一个操作。 Spring MVC返回View对象Model。它可以返回一个字符串或另一个对象,或者什么也不返回。 Spring MVC中的结果是实际请求的方法返回。结果由视图解析器处理。 Spring MVC有许多视图解析,您可以将它们配置为能够处理servlet调度程序请求的bean。

  

是否有类似的方法来配置动作映射,重定向以及使用xml配置的Spring MVC的位置?

其中一个是XmlViewResolver,类似于Struts 2动作配置。您可以在Spring网站上阅读更多关于这些bean的内容。使用此解析程序,您可以通过views.xml定义视图,并将其作为属性提供给此解析程序,并使用映射到每个JSP的视图名称。