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

基于mybatis实现省市县三级联动

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

基于mybatis实现省市县三级联动

需求:省市县首先只展示出来省,用户选择省份后,出现对应的市,选择城市后,展示对应的县/区

分析:

1.界面上首先展示出省,可以用监听器初始化数据就获得对应的省份

2.点击省份获得市对应的可以用异步传输即ajax

3.只有当用户选择才会将数据传回后端调用数据,否则不发出申请

初始化数据:InitializeListener

import java.util.List;

import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.annotation.WebListener;

import com.oracle.pojo.Provinces;
import com.oracle.service.ProvincesService;

import jdk.nashorn.internal.ir.RuntimeNode.Request;
@WebListener
public class InitializeListener  implements ServletContextListener{
    @Override
    public void contextInitialized(ServletContextEvent sce) {
        ServletContext servletContext = sce.getServletContext();
        servletContext.setAttribute("root",servletContext.getContextPath());
        servletContext.setAttribute("js",servletContext.getContextPath()+"/js");
        //调用所有的
        ProvincesService ps=new ProvincesService();
        List proList = ps.findAllProvinces();
        //数据保存在servletContext中
        servletContext.setAttribute("proList",proList);
       
    }

    @Override
    public void contextDestroyed(ServletContextEvent sce) {
       
    }
}

index.jsp界面

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>  




三级联动




省份: 城市 县/区

AddressCityServlet.java

@WebServlet(urlPatterns="/address")
public class AddressServlet extends HttpServlet{

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		doGet(req, resp);
	}
	
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		//获得前端页面的provinceid
		String provinceid = req.getParameter("provinceid");
		//调用方法
		CitiesService cs=new CitiesService();
		List citiesList = cs.findCitiesByProvinceid(provinceid);
		System.out.println("citiesList"+citiesList);
		JSonArray jsonArray=JSONArray.fromObject(citiesList);
		resp.setCharacterEncoding("utf-8");
		PrintWriter out=resp.getWriter();
		out.print(jsonArray);
		out.flush();
		out.close();
	}

AddressCityServlet.java

@WebServlet(urlPatterns="/addressCity")
public class AddressCityServlet extends HttpServlet{

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		doGet(req, resp);
	}
	
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		//获得城市Id
		String cityid = req.getParameter("cityid");
		//调用方法
		AreasService as=new AreasService();
		List areaList = as.findAreaAllBycityid(cityid);
		System.out.println("areaList"+areaList);
		JSonArray jsonArray = JSONArray.fromObject(areaList);
		//以响应的形式传递给前端页面
        PrintWriter out = resp.getWriter();
        out.println( jsonArray );
        out.flush();
        out.close();
	}
}

service层和mapper层代码就不写啦,是很常见的方法,希望会有所帮助,如果发现错误的地方欢迎指出

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/759818.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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