Spring MVC(十一)--使用字符串实现重定向
2021-05-17 15:28
标签:通过 定向 center next code info UNC 不能 下一步 Spring MVC中有两种重定向方式: 重定向的时候如果需要给重定向目标方法传参数,要分字符串参数和pojo对象参数两种,先来总结一下通过返回字符串重定向的方式。 直接模拟一种场景:我在页面点击下一步按钮,会跳转到新的页面,中间通过重定向传递一些参数,如下图: 我的第一个页面: 点击右下角的下一页按钮之后,跳转到下面的页面: 将重定向传递过来的参数显示在第一个方块中指定的位置,这就是需要实现的功能,下面是编码过程。页面的代码省略,只贴重要部分。 1、给按钮绑定请求事件 2、创建控制器 第一步中的请求路径是../jump/ToNextPage,所以首先需要创建一个控制器,它的访问路径为/jump,然后创建一个方法,它的访问路径为并ToNextPage ,并在此方法中实现重定向功能。 上面代码中红色加粗部分为重点: 在重定向之后的方法中,将获取到的参数渲染到了视图jump中,这样就能在视图中获取这两个参数了。 3、在重定向页面获取传递的参数 上面代码中红色加粗的部分就是获取通过重定向传递过来的参数。 4、测试 上面传递的参数为 查看结果: 从上面的结果中可以看出: 所以重定向成功。在上面的重定向过程中,传递的参数是个字符串,而且只能用Model数据模型传递,有时候需要传递一个pojo对象,但是HTTP的重定向参数是以字符串传递的,在Spring MVC中可以使用RedirectAttributes对象的addFlashAttribute传递pojo对象,它的原理是将数据保存在session中,重定向之后将其清除。 5、重定向传递POJO对象 还是上面的场景,只不过这次将重定向参数改为pojo对象,代码如下: 上面代码中红色加粗的部分是重点: 看一下页面跳转情况 从结果可以看出,跳转之后URL为重定向之后的路径,虽然路径中不带有参数但是pojo参数传递成功了! 6、总结 上面的例子使用返回字符串的方式演示了Spring MVC中的重定向过程,以及重定向过程中传递参数的方法,需要注意以下几点: Spring MVC(十一)--使用字符串实现重定向 标签:通过 定向 center next code info UNC 不能 下一步 原文地址:https://www.cnblogs.com/hellowhy/p/9745922.html
// 点击下一页进行跳转
$("#nextPage").click(function() {
window.location.href = "../jump/ToNextPage";
});
@Controller
@RequestMapping("/jump")
public class JumpController {
/**
* 通过返回字符串实现重定向 注意??:通过Model传递字符串参数
*
* @param model
* @return
*/
@RequestMapping("ToNextPage")
public String jumpToNextPage(Model model) {
model.addAttribute("username", "Spring MVC");
model.addAttribute("msg", "Welcome to my house");
return "redirect:./nextPage";
}
@RequestMapping("nextPage")
public ModelAndView nextPage(String username, String msg) {
ModelAndView mv = new ModelAndView();
mv.addObject("userName", username);
mv.addObject("msg", msg);
mv.setViewName("jump/jump");
return mv;
}
}
div class="simple public">
p style="text-align: center;">字符串重定向p>
p>Hello ${userName },${msg }p>
div>
@Controller
@RequestMapping("/jump")
public class JumpController {
@RequestMapping("ToNextPage1")
public String jumpToNextPage1(RedirectAttributes ra) {
Param param = new Param();
param.setParamName("Spring MVC");
param.setParamDesc("欢迎加入");
ra.addFlashAttribute("param", param);
return "redirect:./nextPage1";
}
@RequestMapping("nextPage1")
public ModelAndView nextPage(Param param) {
ModelAndView mv = new ModelAndView();
mv.addObject("userName", param.getParamName());
mv.addObject("msg", param.getParamDesc());
mv.setViewName("jump/jump");
return mv;
}
}
文章标题:Spring MVC(十一)--使用字符串实现重定向
文章链接:http://soscw.com/index.php/essay/86767.html