package com.bj.controller; import com.bj.entity.Area; import com.bj.service.AreaService; import com.bj.service.impl.AreaServiceImpl; import com.google.gson.Gson; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; import java.util.List; @WebServlet("/areaServlet") public class AreaServlet extends HttpServlet{ //首先肯定要 初始化 这个类 private AreaService as = new AreaServiceImpl(); @Override充实 protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { Integer parentid=Integer.parseInt(req.getParameter("parentid")); List<Area> areas = as.findAreaByParentid(parentid); Gson gson=new Gson(); String areaStr = gson.toJson(areas); resp.setCharacterEncoding("UTF-8"); resp.setContentType("text/html;charset=UTF-8"); PrintWriter writer = resp.getWriter(); writer.print(areaStr); } }
<%-- Created by IntelliJ IDEA. User: x1c Date: 2019-12-22 Time: 12:09 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>$Title$</title> <script src="jquery-1.12.3.min.js"></script> <script> function showData(val,tagid){ //使用ajax进行异步请求 $.ajax({ type:"GET", url:"areaServlet", data:{parentid:val}, dataType:'JSON', success:function(areas){ //上一个标签每次换了选择 后面都的清空 $(tagid).html(" <option>-请选择-</option>") for(var i in areas){ $(tagid).append('<option value="'+areas[i].areaid+'">'+areas[i].areaname+'</option>') } //必须加上这个 要不然不能达到 省份改变 县城刷新 if(tagid=="#city"){ $("#qu").html("<option>-请选择区-</option>") } } }) } //页面加载函数 $(function(){ //传的第一个参数为0 就可以吧省会都查出来 传入 Provience标签 showData(0,'#provience') }) </script> </head> <body> 籍贯: <select id="provience" onchange="showData(this.value,'#city')"> <option>-请选择-</option> </select> <select id="city" onchange="showData(this.value,'#qu')"> <option>-请选择-</option> </select> <select id="qu"> <option>-请选择区-</option> </select> </body> </html>