首页 > Java > Spring mvc中的forward和redirect以及参数传递

Spring mvc中的forward和redirect以及参数传递

2014年10月24日 发表评论 阅读评论

1. forward和redirect
大家都知道servlet在处理完业务逻辑返回时有两种方法forward和redirect,他们的差异相信不用我再多做解释(如果不知道的请自行谷歌,哪怕是百度也可以),而Spring mvc是对servlet的一种封装,那spring mvc默认采用的是哪一种呢?我们是否可以自己选择采用哪一种方式返回呢?还有我之前在用spring mvc 都是返回到某一个view,它是否可以访问另一个controller呢?针对第一个问题,我们可以看一下spring mvc 的配置文件便知分晓:

	<property name="viewResolvers">
        <list>
            <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
                <property name="prefix" value="/WEB-INF/pages/"/>
                <property name="suffix" value=".jsp"/>
            </bean>
        </list>
    </property>

因为WEB-INF是一个受保护的目录,客户端是访问不到的,只能通过服务器端访问,根据forward和redirect的区别,我们很容易看到是forward的方式返回的,针对第二个和第三个问题,其实也很简单,我们只需要让该controller返回String即可,然后在方法的最后 return “redirect:/game”;或者return “forward:/game”;即 redirect或者forward + “:” + “/” + controller的路径或者view的名字即可。

2. 参数传递
因为公司的项目是用Spring mvc开发的,发现参数传递除了通过model,还可以通过 RedirectAttributes,据说参数的传递和跳转的URL后面带的值会有一定的关系,这个我没具体测试,感兴趣的可以自己测测。

总结:这篇文章是近期学到的知识点,以前感觉自己会用Spring mvc了,今天才发现还有好多Spring mvc的特性不知道,值得自己去探索啊!

分享到:
作 者: BridgeLi,http://www.bridgeli.cn/
原文链接:https://www.bridgeli.cn/archives/107
版权声明:非特殊声明均为本站原创作品,转载时请注明作者和原文链接。
分类: Java 标签:
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.