今天对一个老系统框架的升级,需要修改原先响应的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 传递的对象详细介绍 #### 概述 本文档主要针对在使用 Spring MVC 开发Web应用程序时,如何有效地利用 JSP 和 ModelMap 在前端展示从后端控制器传递过来的数据进行详细讲解。特别是...
jsp 显示springmvc modelmap传递的对象 最近在做一个小网站,功能非常基础,决定用springmvc搭建。 遇到一个问题,在controller向前端传值时,比如使用ModelMap传了一个字符串,modelmap.addattribute(“msg”, ...
ModelMap 对象主要用于传递控制方法处理数据到结果页面,也就是说我们把结果页面需要的数据放到 ModelMap 对象中即可。其作用类似于 request 对象的 setAttribute 方法的作用:用来在一个请求过程中传递处理的数据。...
关于压缩包子文件“cykj1”,没有更多信息可以推断其具体内容,可能是源代码、数据库脚本、配置文件等与Model层相关的资源。不过,一般来说,这些文件可能会包含以下内容: 1. **源代码文件**:可能包含Model层的...
在Spring MVC框架中,开发Web应用时经常需要处理前端与后端的数据交互。"springmvc3+json参数传递后台接收json参数"这个主题涉及到的是如何使用Spring MVC 3版本接收前端通过JSON格式发送的数据。...
以下是关于这些返回类型的详细解释: 1. **ModelAndView**: - `ModelAndView`对象允许你指定一个视图页面和模型数据。你可以通过`setViewName()`设置视图名称,并使用`addObject()`方法添加模型数据。`...
在实际开发中,`ModelMap`和`HttpServletRequest`都可以作为数据载体,但`ModelMap`通常更方便,因为它提供了自动类型转换和一些便利的方法。`HttpServletRequest`则更适合处理请求参数。 为了调试和测试,你可以...
public String jpaTest(ModelMap modelMap){ userRepository.save(new User("python","123456","xxxxx@126.com")); List<User> users = userRepository.findAll(); modelMap.put("users", users); return ...
不需要数据库交互,包括登录验证功能,以及Model/ModelMap/Map/ModelAndView与页面交互
2. **ModelMap 和 Model**:在实际开发中,我们通常使用 `ModelMap` 或 `Model` 接口来管理 Model 对象。`ModelMap` 是一个实现了 `Model` 接口的 Map 类,可以方便地添加和检索 Key-Value 对。例如,在 Controller ...
在 Spring MVC 中,数据显示可以通过多种方式实现,包括使用 ModelAndView、ModelMap、Model 等。 1. 通过 ModelAndView 使用 ModelAndView 可以将数据显示到前端,例如: ```java public class ControllerTest1 ...
2. **模型映射(ModelMap)**:在Controller方法中,我们经常使用`ModelMap`或`Model`来存储和传递模型数据。`ModelMap`扩展了`Model`接口,提供了一种方便的方式来添加和管理模型属性。例如,我们可以在处理请求的...
- **ModelMap接口**:与ModelAndView类似,ModelMap也用于存储模型数据。它可以直接作为控制器方法的返回值: ```java @RequestMapping("/shareData") public String shareData(ModelMap modelMap) { modelMap....
在制作b/s系统时,每次编辑时都要重新给控件赋值,都是做重复工作。现在利用反射来让model实体自动赋值给控件。
在Controller层,我掌握了Controller和RequestMapping的使用,学会了如何使用ModelMap进行数据传输。在Service层,我理解了Service接口的抽取和@Autowired注解的应用。在View层,我学会了使用EL表达式${}读取...
以上就是关于SpringMVC配置文件路径修改和数据传递的基本操作。通过自定义配置文件路径,我们可以更好地组织项目的结构,而通过模型和模型映射,我们可以灵活地在后端与前端之间传递各种类型的数据。在实际开发中,...
String modelMap = req.getParameter("modelMap"); } ``` 在上面的代码中,我们使用了实体类User对象来接收传参,然后可以根据需要进行处理。 本文详细介绍了Java后台重定向到另一个项目的方法,包括使用...
`Model`和`ModelMap`的主要区别在于`ModelMap`继承了`Map`,因此可以方便地添加多个模型对象。 4. **Session作用域**:当需要在多个请求之间共享数据时,可以将数据存储在`HttpSession`中。可以通过`request....
myEclipse2013+spring-mvc+mybatis3.2.2实现增删改查简单完整版,可在myEclipse2013自带的Tomcat 7上运行,weblogic上可能有问题,有ModelMap 和ModelAndView的简单使用比较,ModelMap用起来更方便简洁。也使用到了c...