springmvc的重定向
时间: 2023-11-12 15:07:10 浏览: 72
在 Spring MVC 中,重定向可以通过使用 `RedirectView` 或 `RedirectAttributes` 来实现。
1. 使用 RedirectView
`RedirectView` 是 Spring MVC 中用于重定向的一个视图类。可以在控制器方法中返回一个 `RedirectView` 对象,并将重定向的 URL 作为构造函数的参数传递。例如:
```java
@Controller
public class MyController {
@RequestMapping("/redirect")
public RedirectView redirect() {
RedirectView redirectView = new RedirectView();
redirectView.setUrl("https://www.example.com");
return redirectView;
}
}
```
2. 使用 RedirectAttributes
`RedirectAttributes` 是 Spring MVC 中用于重定向并携带参数的一个工具类。可以在控制器方法中使用 `RedirectAttributes` 对象来设置重定向的 URL 和参数。例如:
```java
@Controller
public class MyController {
@RequestMapping("/redirect")
public String redirect(RedirectAttributes attributes) {
attributes.addAttribute("param1", "value1");
attributes.addFlashAttribute("param2", "value2");
return "redirect:/target";
}
@RequestMapping("/target")
public String target(@RequestParam("param1") String param1,
@ModelAttribute("param2") String param2) {
// 处理重定向后的请求
return "target";
}
}
```
在上面的例子中,`redirect` 方法使用 `RedirectAttributes` 对象设置了两个参数,分别是 `param1` 和 `param2`,并将 `param1` 设置为 URL 参数,将 `param2` 设置为 Flash 属性。然后,`redirect` 方法返回了一个重定向 URL,这个 URL 是 `/target`,表示重定向到 `target` 方法。在 `target` 方法中,`param1` 使用 `@RequestParam` 注解获取 URL 参数,`param2` 使用 `@ModelAttribute` 注解获取 Flash 属性。
阅读全文