栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Ajax-3

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Ajax-3

JSON

Javascript Object Notation, 一种轻量级数据交互格式,完成js与Java等后端开发语言对象数据之间的转换需要JSON格式。
转换需要应用JSON-lib小工具(参考此链接),下载所需的六个包,然后在项目中导入jar包才能使用(之前写过一篇如何导包)

通过Ajax来实现三级联动,写一个选择省市区

LocationServlet

public class LocationServlet extends HttpServlet {
    private static Map> cityMap;
    private static Map> provinceMap;
    static {
        cityMap = new HashMap<>();
        List areas = new ArrayList<>();
        //西安
        areas = new ArrayList<>();
        areas.add("雁塔区");
        areas.add("莲湖区");
        areas.add("新城区");
        cityMap.put("西安市",areas);
        //宝鸡
        areas = new ArrayList<>();
        areas.add("陈仓区");
        areas.add("渭滨区");
        areas.add("渭南区");
        cityMap.put("宝鸡市",areas);
        //渭南
        areas = new ArrayList<>();
        areas.add("临渭区");
        areas.add("高新区");
        cityMap.put("渭南市",areas);
        //郑州
        areas = new ArrayList<>();
        areas.add("郑州A区");
        areas.add("郑州B区");
        cityMap.put("郑州市",areas);
        //洛阳
        areas = new ArrayList<>();
        areas.add("洛阳A区");
        areas.add("洛阳B区");
        cityMap.put("洛阳市",areas);
        //开封
        areas = new ArrayList<>();
        areas.add("开封A区");
        areas.add("开封B区");
        cityMap.put("开封市",areas);
        //济南
        areas = new ArrayList<>();
        areas.add("历下区");
        areas.add("市中区");
        areas.add("长清区");
        cityMap.put("济南市",areas);
        provinceMap = new HashMap<>();
        List cities = new ArrayList<>();
        //陕西
        cities = new ArrayList<>();
        cities.add("西安市");
        cities.add("宝鸡市");
        cities.add("渭南市");
        provinceMap.put("陕西省",cities);
        //河南
        cities = new ArrayList<>();
        cities.add("郑州市");
        cities.add("洛阳市");
        cities.add("开封市");
        provinceMap.put("河南省",cities);
        //山东
        cities = new ArrayList<>();
        cities.add("济南市");
        cities.add("滨州市");
        cities.add("青岛市");
        provinceMap.put("山东省",cities);
    }
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setCharacterEncoding("utf-8");
        req.setCharacterEncoding("utf-8");
        String type = req.getParameter("type");
        String id = req.getParameter("id");
        //流程分发,
        switch (type) {
            case "city":
                List areas = cityMap.get(id);
                JSONArray jsonArray = JSONArray.fromObject(areas);
                resp.getWriter().write(jsonArray.toString());
                break;
            case "province":
               List cities =  provinceMap.get(id);
               //对应的城市名字
                String city = cities.get(0);
                List cityAreas = cityMap.get(city);
                Location location = new Location();
                location.setCities(cities);
                location.setAreas(cityAreas);
                JSONObject jsonObject = JSONObject.fromObject(location);
                resp.getWriter().write(jsonObject.toString());
                break;
        }
    }
}

location.jsp



    Title
    
    


  省:
  市:
  区:


Location.java

package com.southwind.entity;

import java.util.List;

public class Location {
    private List cities;
    private List areas;

    public List getCities() {
        return cities;
    }

    public void setCities(List cities) {
        this.cities = cities;
    }

    public List getAreas() {
        return areas;
    }

    public void setAreas(List areas) {
        this.areas = areas;
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/286958.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号