springmvc的return "" 和 return "redirect: " 的区别

今天试了一下这两者的区别,


return "user/welcome" 会自动跳转WEB-INF/下的user/welcome.jsp。

而 return "redirect: user/welcome"则会返回这个controller, 然后重新查找requestmapping的参数。 如果这个controller没有一个@requestmapping(value="user"),那么就会报错。


因此, return+路径就是纯粹用于跳转页面。 而return+redirect就用于再次转向controller。
  • 22
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring MVC,使用return语句可以实现页面跳转。具体来说,可以使用以下两种方式: 1. 返回逻辑视图名 在Controller方法,可以使用return语句返回一个逻辑视图名,Spring MVC会根据这个视图名来查找对应的视图文件,并将其渲染后返回给浏览器。例如: ``` @RequestMapping("/hello") public String hello() { return "hello"; // 返回逻辑视图名 } ``` 在这个例子,当用户访问/hello路径时,Spring MVC会查找名为hello的视图文件,并将其渲染后返回给浏览器。 2. 返回RedirectView或RedirectAttributes 除了返回逻辑视图名外,还可以使用RedirectView或RedirectAttributes来实现页面跳转。RedirectView是一个Spring MVC提供的视图类,可以将请求重定向到另一个URL。例如: ``` @RequestMapping("/redirect") public RedirectView redirect() { RedirectView redirectView = new RedirectView(); redirectView.setUrl("/hello"); // 设置重定向URL return redirectView; } ``` 在这个例子,当用户访问/redirect路径时,Spring MVC会将请求重定向到/hello路径。 另外,还可以使用RedirectAttributes来传递重定向时需要的参数。例如: ``` @RequestMapping("/redirectWithParam") public RedirectView redirectWithParam(RedirectAttributes attributes) { attributes.addAttribute("name", "Tom"); // 设置重定向参数 RedirectView redirectView = new RedirectView(); redirectView.setUrl("/hello"); // 设置重定向URL return redirectView; } ``` 在这个例子,当用户访问/redirectWithParam路径时,Spring MVC会将请求重定向到/hello路径,并将name参数设置为Tom。在/hello路径对应的Controller方法,可以使用@RequestParam注解来获取这个参数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值