SpringMVC redirect重定向传参

本文详细探讨了SpringMVC中重定向参数传递的三种方式,特别提到手动拼接URL时可能出现的中文乱码问题,并指出这种方式在特定情况下可酌情使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于SpringMVC 重定向传参的问题一直无解,每次碰到有关需求就去网上找资料,通常情况就是问题解决了知识点就忘记了。然而网上资料太凌乱,每次都要一个个重新测试才能找到正确答案,所以这次痛下决心,记录一下这次问题,免得下次碰到又不会,嘻嘻。

SpringMVC redirect传参总共有3种情况,现在一一说明。

第一种:手动拼接url,当涉及到中文时会乱码,不推荐,其他情况自己斟酌使用。

    @RequestMapping(value="/get/{id}")
    public String get(@PathVariable int id, HttpServletRequest req, HttpServletResponse resp,
            ModelMap model) {
        return "redirect:/billManage?bill_get_id="+id;
    }

第二种:自动拼接url,可以使用ModelMap或者RedirectAttributes,使用这个方法地址栏的url会自动添加?bill_get_id=xxx

    @RequestMapping(value="/get/{id}")
    public String get(@PathVariable int id, HttpServletRequest req, HttpServletResponse resp,
            ModelMap model,RedirectAttributes attr) {
        attr.addAttribute("bill_get_id", id);
        return "redirect:/billManage";
    }

第三种:不拼接url,也即url后面不添加参数,使用RedirectAttributes来实现,估计使用最多的就是这种了。当页面重新刷新时,参数会丢失。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值