热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:ModelAndView重定向带参数解决方法

业务场景:SpringMVC项目使用ModelAndView进行重定向跳转到另外一个action时,需要在url后面带上参数如果是带参数带一个页面,直接用

业务场景:SpringMVC项目使用ModelAndView进行重定向跳转到另外一个action时,需要在url后面带上参数

如果是带参数带一个页面,直接用modelAndView.addObject(paramKey,paramValue);

原来代码:

public ModelAndView toPage(){
....
return new ModelAndView(new RedirectView("login.do"));
}

重定向时候在login.do后面带上参数,类似于login.do?param=test

解决方法,如下代码:

public ModelAndView toPage(){
....
Map reqParam = new HashMap(16);
reqParam.put("param","test");
return new ModelAndView(new RedirectView("login.do"),reqParam);
}

看ModelAndView源码注释,是支持这种方法的,model是传参,是用于重定向的时候带上参数

public class ModelAndView{
....
public ModelAndView(View view, Map model) {
this.view = view;
if (model != null) {
this.getModelMap().addAllAttributes(model);
}
}
}
....

public ModelMap getModelMap() {
if (this.model == null) {
this.model = new ModelMap();
}
return this.model;
}

ModelMap是一个自定义的LinkedHashMap

public class ModelMap extends LinkedHashMap {
public ModelMap() {
}
....
}

推荐阅读
author-avatar
艺维网络传媒
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有