springMVC重定向
springMVC重定向是一个controller方法跳转到另外一个controller方法,是用forward和redirect
-
session传值
1 2 3 4 5 6 7 8 9 10 11 12 | public String save( @RequestParam (value= "name" , required= false ) String name, HttpServletRequest request,Model model){ //常规做法,重定向之前把参数放进Session中,在重定向之后的controller中把参数从Session中取出并放进ModelAndView request.getSession().setAttribute( "name" , name); return "redirect:/main" ; } public String main(Model model,HttpServletRequest request){ //从session中取值 HttpSession session = request.getSession(); model.addAttribute( "name" ,session.getAttribute( "name" )); return "main" ; } |
-
RedirectAttributes传值
1 2 3 4 5 6 7 8 9 10 11 | public String save( @RequestParam (value= "name" , required= false ) String name, HttpServletRequest request,RedirectAttributes redirectAttributes){ //把值放入RedirectAttributes redirectAttributes.addFlashAttribute( "name" , name); return "forward:/main" ; } //直接取值 public String main( @RequestParam ( "name" ) String name){ System.out.println( "name : " +name); return "main" ; } |
3.URL中拼接参数
1 2 3 4 5 6 7 8 9 10 | public String save( @RequestParam (value= "name" , required= false ) String name, HttpServletRequest request,RedirectAttributes redirectAttributes){ //把值放入RedirectAttributes return "redirect:/main?name=" +name; } //直接取值 public String main( @RequestParam ( "name" ) String name){ System.out.println( "name : " +name); return "main" ; } |
重定向后参数的传送
-
重定向后,前一个controller中放置 model.addAttribute("name", name),后一个controller无法获取到。
-
重定向之前把参数放进Session中,在重定向之后的controller中把参数从Session中取出
-
使用RedirectAttributes类,这种实现方式比较简单。
-
url中拼接参数
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?