php抓取网页数据插入数据库(创建一个ListList的对象list1层(图))

优采云 发布时间: 2021-12-03 07:13

  php抓取网页数据插入数据库(创建一个ListList的对象list1层(图))

  如图所示:

  

  2.控制器层:

  后台是jsp上输入url的地方。

   //回显汽车car分类

@RequestMapping("/loadCategory")

@ResponseBody

public List loadCategory(HttpServletResponse response){

response.setContentType("text/html;charset=utf-8");

response.setCharacterEncoding("utf-8"); //响应编码

System.out.println("jsp页面加载即触发");

List namelist = categoryService.findClassNames();

System.out.println("查询到的类别:"+namelist);

//list存放map,map存放kv值(json),namelist取需要的字段

List list = new ArrayList();

for (Category category : namelist) {

Map map = new HashMap();

//只取classid、ClassName即可。

String className = category.getClassName().toString();

String classid = category.getClassid().toString();

//map存放键值对

map.put("classid",classid);

map.put("className",className);

//list存放map

list.add(map);

System.out.println("json格式:"+list); //打印出来就成为了json格式

}

return list;

}

  情况就是这样。一般来说,后端直接查询类别表,然后返回一个集合数据列表。但是我们制作下拉框只需要category id和category name,完全不需要其他额外的数据项。因此,上面的意思是:

  Namelist去查询category表,得到一堆数据。

  

  然后需要获取所需的 classid 和 className 字段对应的数据。

  然后我们声明一个地图。 map用于存储键值对和需要返回的kv。也就是将需要的字段封装到map中。

  然后声明一个list,方便带回前端或者转换成json格式。列表存储地图。

  其次,如果前台用的是easyui,可以在最后加上@ResponseBody注解,可以直接自动转换成json格式发回前台。

  这样就实现了我们需要动态填充数据库中数据的easyui下拉框。 3.效果图:

  注意在上面的控制层:

  for循环把map放入list的时候,总是同一个map,会导致后面的数据覆盖前面的数据,所以必须把新的HashMap操作放到for循环中,这样才能可以实现将多个map的kv值放入列表中。

  List> list1 = new ArrayList>();

  表示创建一个List对象list1。 List可以理解为一个链表,list1链表中的元素为Map类型元素,Map是String到Object的映射,即map可以存储key-value对。所以用list来存储地图,然后把list返回给前端jsp页面。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线