`
LoveLZY
  • 浏览: 57494 次
  • 性别: Icon_minigender_1
博客专栏
Group-logo
从零编写RPC框架
浏览量:0
社区版块
存档分类
最新评论

关于ModelMap的小事

阅读更多
  今天对一个老系统框架的升级,需要修改原先响应的http报文格式。该系统是springMVC实现。
出了点小问题,记录一下。
 
@Override
	public void postHandle(WebRequest request, ModelMap model) throws Exception {
		
			
			
			if(model.get("content")==null){
				Map<String,Object> content=new HashMap<String,Object>();
				for(String key:model.keySet()){
					if(!"status".equals(key)&&!"describe".equals(key)){
						content.put(key, model.get(key));
						model.remove(key);
					}
					
					
				}
				model.put("content", content);
			}
		
			
			
		
			
		}
		
		
		
		
		
		
	}

该方法打算实现将出了modelMap里面原来存储的对象取出来放到一个Map里面,然后存储该Map,但是运行报错ConcurrentModificationException,并发修改异常
原因是 在跌代一个集合的适合无法进行修改,解决方案可以先采用临时集合存储要修改的对象,然后再次修改。
   if(model.get("content")==null){
				JSONObject content=new JSONObject();
				List<String> list=new ArrayList<String>();
				for(String s:model.keySet()){
					if(!"status".equals(s)&&!"describe".equals(s)){
						list.add(s);
						content.put(s,model.get(s));
					}
				}
				for(String s:list){
					model.remove(s);
				}
				
				
		
				model.put("content", content);
			}
		

分享到:
评论

相关推荐

    jsp 显示springmvc modelmap传递的对象详细介绍.docx

    ### jsp 显示 springmvc ModelMap 传递的对象详细介绍 #### 概述 本文档主要针对在使用 Spring MVC 开发Web应用程序时,如何有效地利用 JSP 和 ModelMap 在前端展示从后端控制器传递过来的数据进行详细讲解。特别是...

    jsp 显示springmvc modelmap传递的对象详细介绍

    jsp 显示springmvc modelmap传递的对象 最近在做一个小网站,功能非常基础,决定用springmvc搭建。 遇到一个问题,在controller向前端传值时,比如使用ModelMap传了一个字符串,modelmap.addattribute(“msg”, ...

    SpringMVC之Model接口

    ModelMap 对象主要用于传递控制方法处理数据到结果页面,也就是说我们把结果页面需要的数据放到 ModelMap 对象中即可。其作用类似于 request 对象的 setAttribute 方法的作用:用来在一个请求过程中传递处理的数据。...

    一些model页面一些model页面

    关于压缩包子文件“cykj1”,没有更多信息可以推断其具体内容,可能是源代码、数据库脚本、配置文件等与Model层相关的资源。不过,一般来说,这些文件可能会包含以下内容: 1. **源代码文件**:可能包含Model层的...

    spring mvc

    以下是关于这些返回类型的详细解释: 1. **ModelAndView**: - `ModelAndView`对象允许你指定一个视图页面和模型数据。你可以通过`setViewName()`设置视图名称,并使用`addObject()`方法添加模型数据。`...

    springmvc3+json参数传递后台接收json参数

    在Spring MVC框架中,开发Web应用时经常需要处理前端与后端的数据交互。"springmvc3+json参数传递后台接收json参数"这个主题涉及到的是如何使用Spring MVC 3版本接收前端通过JSON格式发送的数据。...

    2freemarker基本数据交互1

    在实际开发中,`ModelMap`和`HttpServletRequest`都可以作为数据载体,但`ModelMap`通常更方便,因为它提供了自动类型转换和一些便利的方法。`HttpServletRequest`则更适合处理请求参数。 为了调试和测试,你可以...

    springboot jpa mysql controller演示

    public String jpaTest(ModelMap modelMap){ userRepository.save(new User("python","123456","xxxxx@126.com")); List&lt;User&gt; users = userRepository.findAll(); modelMap.put("users", users); return ...

    SpringMVC-Spring-Maven 登录、model、view实例

    不需要数据库交互,包括登录验证功能,以及Model/ModelMap/Map/ModelAndView与页面交互

    Spring-MVC-model

    2. **ModelMap 和 Model**:在实际开发中,我们通常使用 `ModelMap` 或 `Model` 接口来管理 Model 对象。`ModelMap` 是一个实现了 `Model` 接口的 Map 类,可以方便地添加和检索 Key-Value 对。例如,在 Controller ...

    Spring mvc如何实现数据处理

    在 Spring MVC 中,数据显示可以通过多种方式实现,包括使用 ModelAndView、ModelMap、Model 等。 1. 通过 ModelAndView 使用 ModelAndView 可以将数据显示到前端,例如: ```java public class ControllerTest1 ...

    0622处理模型数据.zip

    2. **模型映射(ModelMap)**:在Controller方法中,我们经常使用`ModelMap`或`Model`来存储和传递模型数据。`ModelMap`扩展了`Model`接口,提供了一种方便的方式来添加和管理模型属性。例如,我们可以在处理请求的...

    springmvc-demo07-响应(数据共享,页面跳转).zip

    - **ModelMap接口**:与ModelAndView类似,ModelMap也用于存储模型数据。它可以直接作为控制器方法的返回值: ```java @RequestMapping("/shareData") public String shareData(ModelMap modelMap) { modelMap....

    model的数据绑定给控件

    在制作b/s系统时,每次编辑时都要重新给控件赋值,都是做重复工作。现在利用反射来让model实体自动赋值给控件。

    我的实习报告

    在Controller层,我掌握了Controller和RequestMapping的使用,学会了如何使用ModelMap进行数据传输。在Service层,我理解了Service接口的抽取和@Autowired注解的应用。在View层,我学会了使用EL表达式${}读取...

    SpringMVC修改配置文件路径+给界面传递数据

    以上就是关于SpringMVC配置文件路径修改和数据传递的基本操作。通过自定义配置文件路径,我们可以更好地组织项目的结构,而通过模型和模型映射,我们可以灵活地在后端与前端之间传递各种类型的数据。在实际开发中,...

    详解Java从后台重定向(redirect)到另一个项目的方法

    String modelMap = req.getParameter("modelMap"); } ``` 在上面的代码中,我们使用了实体类User对象来接收传参,然后可以根据需要进行处理。 本文详细介绍了Java后台重定向到另一个项目的方法,包括使用...

    SpringMVC界面跳转及参数传递.docx

    `Model`和`ModelMap`的主要区别在于`ModelMap`继承了`Map`,因此可以方便地添加多个模型对象。 4. **Session作用域**:当需要在多个请求之间共享数据时,可以将数据存储在`HttpSession`中。可以通过`request....

    myEclipse2013+spring-mvc+mybatis3.2.2实现增删改查简单完整版

    myEclipse2013+spring-mvc+mybatis3.2.2实现增删改查简单完整版,可在myEclipse2013自带的Tomcat 7上运行,weblogic上可能有问题,有ModelMap 和ModelAndView的简单使用比较,ModelMap用起来更方便简洁。也使用到了c...

Global site tag (gtag.js) - Google Analytics