使用RedirectAttributes将数据传入重定向的页面

    有时候咱们可能会遇到需要将数据传入重定向的页面当中的情形,比如登录成功后重定向到项目主页,并显示提示信息。这时就需要将登录验证中得到的验证结果传入重定向之后的页面。

使用RedirectAttributes 可以达到我们想要的效果,他是专门用于重定向携带参数跳转的的工具类,它有两种实现方式:

第一种:
使用redirectAttributes.addAttributie(“param”,value);
这种方法相当于在重定向链接地址追加传递的参数。
注意:这种方法会将传递的参数直接暴露在链接地址上,很不安全。
url会变成:xxx/main?param=value

public String xxx(RedirectAttributes redirectAttributes) {
	redirectAttributes.addAttributie("param",value);
	return:"redirect:main" 
}

第二种:
使用redirectAttributes.addFlashAttributie(“param”,value);
这种方法隐藏了参数,但是能且只能在重定向的 “页面” (如jsp页面)中获取param参数值。
原理:该属性值被放到session中,session在跳到页面后马上移除对象。若是重定向到controller中,则获取不到该属性值。除非在controller中用(@RequestParam(value = “param”)String param)注解
在controller中取得param的方法:

public String xxx(RedirectAttributes redirectAttributes) {
	redirectAttributes.addAttributie("param",value);
	return:"redirect:yyy" 
}
@RequestMapping("/yyy")
public Map<Object,Object> forYYY(@RequestParam(value = "pparam")String  param, ...){
	System.out.println(param);
	//your code
}

参考博文:
[1].关于重定向RedirectAttributes的用法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值