Action中在session中存放了一个map<String,Object>,跳转到a.jsp,a.jsp通过form提交到BAction,BAction可从session中获得map值。
但是由于session是存放在tomcat的memcached中的,存放大对象会影响用户使用,同时,如果将map放到request中,通过hidden传递,页面之间传递map有问题。
故想到一个解决方案是将map转为json,存储到request中,a.jsp中写入hidden,最后在BAction中获取json,转为map即可
map转为json的方式为:
JSONObject jsonObject = JSONObject.fromMap(productMap);
或
JSONObject jsonObject = JSONObject.fromObject(productMap);
json转为map的方式为:
String json = request.getPrarameter("product");//从hidden里面获得json串
ObjectMapper mapper = new ObjectMapper(); Map<String,Object> productMap = mapper.readValue(json);//转成map