转发和重定向中携带变量

转发和重定向中携带变量

有时候我们需要在转发中或者重定向中携带变量,并且在转发或者重定向到的请求方法中获取变量,Spring MVC都可以帮我们做到这两点

转发中携带变量

当我们需要在转发中携带变量和获取变量时,我们可以使用以下几种方式

原生HttpServletRequest类

使用原生的HttpServletRequest类,可以做到在转发中携带变量,也可以使用他来获取变量

携带变量时,将HttpServletRequest类添加在请求方法的参数列表中,然后调用setAttribute方法就可以将变量以键值对的方式保存在request域中

@Controller
public class MyController {
   

    @RequestMapping("/user")
    public String queryUser(HttpServletRequest request) {
   
        request.setAttribute("name","cong");
        request.setAttribute("age",18);
        return "forward:/other";
    }
}

获取request域中的变量也是同样的使用方式,将HttpServletRequest类添加在请求方法的参数列表中,然后调用getAttribute方法

@Controller
public class MyController {
   

    @RequestMapping("/user")
    public String queryUser(HttpServletRequest request) {
   
        request.setAttribute("name", "cong");
        request.setAttribute("age", 18);
        return "forward:/other";
    }

    @RequestMapping("/other")
    @ResponseBody
    public Map<String, Object> other(HttpServletRequest request) {
   
        Object name = request.getAttribute("name");
        Object age = request.getAttribute("age");
        HashMap<String, Object> result = new HashMap<>();
        result.put("name"<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值