Spring MVC 跳转问题

来源:互联网 发布:乐视网络电视app 编辑:程序博客网 时间:2024/06/15 05:28

JSP页面:

链接前有“/”:则跳转地址为:服务器根目录+你的链接地址

比如:

当前页面是工程主页目录:http://pc-20160802rdfv:8080/reWebDemo/index.jsp

表单为<form action="/login/userlogin">

则登录后地址为:http://pc-20160802rdfv:8080/login/userlogin

链接前无“/”:则跳转地址为:地址从当前页面所在目录+你的链接地址

比如:

当前页面是工程主页目录:http://pc-20160802rdfv:8080/reWebDemo/index.jsp

表单为<form action="login/userlogin">

则登录后地址为:http://pc-20160802rdfv:8080/reWebDemo/login/userlogin

javascript中一样的道理,但JS若单独放到一个文件中则一般用绝对地址,把工程地址一开始就放入session中保存

Action/Controller后台:

后台跳页面:

一般Spring MVC会配置视图名称解析
我的配置:<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="/WEB-INF/view/" p:suffix=".jsp" />
这样会使mv.setViewName("demo/loglist")中的链接前有无“/”都不影响

    都会跳转到地址:p:prefix+你set的地址去掉前缀“/”+p:suffix
   当需要跳转到prefix之外的页面时可以用forword和redirect,比如跳转到主页面:mv.setViewName("forward:/index.jsp");

后台跳后台:

由于配置视图名称解析,所以要想后台跳后台只能用forward和redirect
至于两者区别本篇不多陈述,大致就是forword为服务端跳转,地址不可见,参数可共享,redirect反之。                                                                     
还有一种方法是参数中带RedirectAttributes,由于本人没使用过,所以不做解释。





0 0
原创粉丝点击