Spring MVC 重定向
2020-12-13 04:13
标签:not 角色 参数 role bsp 图片 mic tno 就是 返回的字符串带有redirect重定向; 在URL重定向的过程中,并不能有效传递对象,因为HTTP的重定向参数是以字符串传递的。这个时候Spring MVC提供了一个方法——flash属性,你需要提供的数据模型就是一个RedirectAttribute Spring MVC 重定向 标签:not 角色 参数 role bsp 图片 mic tno 就是 原文地址:https://www.cnblogs.com/ooo0/p/11106027.htmlpackage com.ssm.chapter15.controller;
import com.ssm.chapter15.pojo.Role;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import org.springframework.web.servlet.view.json.MappingJackson2JsonView;
@Controller
@RequestMapping("/redirect")
public class RedirectController {
@RequestMapping("/showRoleJsonInfo")
public ModelAndView showRoleJsonInfo(Long id, String roleName, String note) {
ModelAndView mv = new ModelAndView();
mv.setView(new MappingJackson2JsonView());
mv.addObject("id", id);
mv.addObject("roleName", roleName);
mv.addObject("note", note);
return mv;
}
@RequestMapping("/addRole")
//Model为重定向数据模型,Spring MVC会自动初始化它
public String addRole(Model model, String roleName, String note) {
// Role role = new Role();
// role.setRoleName(roleName);
// role.setNote(note);
// 插入角色后,会回填角色编号
// roleService.insertRole(role);
// 绑定重定向数据模型
model.addAttribute("roleName", roleName);
model.addAttribute("note", note);
// model.addAttribute("id", role.getId());
return "redirect:./showRoleJsonInfo.do";
}
@RequestMapping("/addRole2")
//ModelAndView对象Spring MVC会自定初始化它
public ModelAndView addRole2(ModelAndView mv, String roleName, String note) {
// Role role = new Role();
// role.setRoleName(roleName);
// role.setNote(note);
//插入角色后,会回填角色编号
// roleService.insertRole(role);
//绑定重定向数据模型
mv.addObject("roleName", roleName);
mv.addObject("note", note);
// mv.addObject("id", role.getId());
mv.setViewName("redirect:./showRoleJsonInfo.do");
return mv;
}
@RequestMapping("/showRoleJsonInfo2")
public ModelAndView showRoleJsonInfo(Role role) {
ModelAndView mv = new ModelAndView();
mv.setView(new MappingJackson2JsonView());
mv.addObject("role", role);
return mv;
}
@RequestMapping("/addRole3")
//RedirectAttribute对象Spring MVC会自动初始化它
public String addRole3(RedirectAttributes ra, Role role) {
//插入角色后,会回填角色编号
// roleService.insertRole(role);
// 绑定重定向数据模型
ra.addFlashAttribute("role", role);
return "redirect:./showRoleJsonInfo2.do";
}
}
返回视图来实现重定向;
使用addFlashAttribute方法后,SpringMVC会将数据保存到Session中(Session在一个会话期有效),重定向后就会将其清除,这样就能够传递数据给下一个地址了