SpringMVC从一个Controller直接跳转到另一个Controller


参考文档:https://www.cnblogs.com/jpfss/p/9542550.html

今天在学习springMVC时,想要实现一个登录成功之后显示一个表中的所有内容的功能,当时写的controller时返回到对应的jsp中的,但是发现运行之后,只显示了一个界面,没有我想要的内容。于是,灵机一动,发现我不是要返回到对应的jsp,而是直接获得结果再返回到jsp,从而将数据显示出来。
这就相当于从一个controller直接跳转到另一个controller中,就像我要实现的功能一样,想要直接从登录的controller中直接跳到显示内容的controller中。下面写一下三种方法:

方法一(不带参数)

使用ModelAndView

    return new ModelAndView("redirect:/index");

index就是我们的目标controller

方法二(不带参数)

返回String类型

return "redirect:/ userList "; 

当然还有其他方法,在这里不在一一赘述,以上就是不带参数的重定向
下面来说一下带参数的重定向

方法三(带参数)

使用ModelAndView手动拼接url

    return new ModelAndView("redirect:/index?a=1&b=2...");

方法四(带参数)

用RedirectAttributes,这个是发现的一个比较好用的一个类,这里用它的addAttribute方法,它自动给你拼接url。
使用方法:
attr.addAttribute(“param”, value);
return “redirect:/userList”;
这样在toController这个方法中就可以通过获得参数的方式获得这个参数,再传递到页面。传过去的url还是和自己手动拼接的方式一样的。

@RequestMapping("/save")
  public String save(RedirectAttributes attr){
 	 attr.addAttribute("msg", "参数");
     return "redirect:/index";
  }

前端取数据直接使用EL表达式就可以了

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值