三级联动+数据库
来源:互联网 发布:linux版本查看 编辑:程序博客网 时间:2024/04/27 03:11
jsp页面
<%@page import="entity.Sanji"%><%@page import="dao.SanjiDao"%><%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <base href="<%=basePath%>"> <title>三级联动+数据库</title> <meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--> <script type="text/javascript" src="js/jquery.js"></script> <script type="text/javascript"> $(function(){ alert("jquery起作用了"); $("#province").change(function(){ //使#city只保留第一个option子节点 alert("选择了省份"); $("#city option:not(:first)").remove(); var province_code=$(this).val(); alert("province_code="+province_code); if(province_code!=""){ var url="<%=request.getContextPath()%>/SanjiServlet?method=city"; alert("url="+url); var args={"province_code":province_code}; $.getJSON(url,args,function(data){ for(var i=0;i<data.length;i++){ var city_code=data[i].code; var city_name=data[i].name; $("#city").append("<option value='"+city_code+"'>"+city_name+"</option>"); } }); } }); $("#city").change(function(){ //使#county只保留第一个option子节点 alert("选择了城市 "); $("#county option:not(:first)").remove(); var city_code=$(this).val(); if(city_code!=""){ var url="<%=request.getContextPath()%>/SanjiServlet?method=county"; var args={"city_code":city_code}; $.getJSON(url,args,function(data){ for(var i=0;i<data.length;i++){ var county_code=data[i].code; var county_name=data[i].name; $("#county").append("<option value='"+county_code+"'>"+county_name+"</option>"); } }); } }); }); </script> </head> <body> <% //初始显示 SanjiDao sanjiDao = new SanjiDao();//初始显示String sql1 = "SELECT name,code,parentCode from danyuan where parentCode is NULL;";List<Sanji> sanjilist = sanjiDao.getSanjilistBySql(sql1); session.setAttribute("provinces", sanjilist); %> <center> 省:<select id="province" > <option value="">请选择...</option> <c:forEach items="${sessionScope.provinces }" var="province"> <option value="${ province.code}">${ province.name}</option> </c:forEach> </select> 市:<select id="city"> <option value="">请选择...</option> </select> 县:<select id="county"> <option value="">请选择...</option> </select> </center> </body></html>
servlet;
package servlet;import java.io.IOException;import java.io.PrintWriter;import java.lang.reflect.Method;import java.sql.SQLException;import java.util.List;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import com.fasterxml.jackson.databind.ObjectMapper;import dao.SanjiDao;import entity.Sanji;/** * 三级联动servelt * @author asus pc * */public class SanjiServlet extends HttpServlet {SanjiDao sanjiDao = new SanjiDao();public void destroy() {super.destroy(); // Just puts "destroy" string in log// Put your code here}public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {request.setCharacterEncoding("utf-8");response.setContentType("text/html;charset=UTF-8"); String methodname=request.getParameter("method"); try { Method method=getClass().getDeclaredMethod(methodname,HttpServletRequest.class,HttpServletResponse.class); method.invoke(this, request,response);//调用各自的方法 } catch (Exception e) { e.printStackTrace(); } }public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {HttpSession session = request.getSession(); /**//接收父级codeString parentCode="01";//根据不同联动的code,查询下一级String sql="SELECT name,code,parentCode from danyuan where parentCode='"+parentCode+"'";List<Sanji> sanjilist = sanjiDao.getSanjilistBySql(sql);for (Sanji sanji : sanjilist) {System.out.println("sanji.getName()=+++++"+sanji.getName());}*/} protected void city(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, ClassNotFoundException, SQLException { System.out.println("city的servlet进入了"); String province_code=request.getParameter("province_code"); String sql="SELECT name,code,parentCode from danyuan where parentCode='"+province_code+"'"; List<Sanji> cities=sanjiDao.getSanjilistBySql(sql); ObjectMapper mapper=new ObjectMapper(); String result=mapper.writeValueAsString(cities); System.out.println("city_result="+result); response.setContentType("text/javascript"); response.getWriter().print(result); } protected void county(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, ClassNotFoundException, SQLException { System.out.println("county的servlet进入了"); String city_code=request.getParameter("city_code"); String sql="SELECT name,code,parentCode from danyuan where parentCode='"+city_code+"';"; List<Sanji> counties=sanjiDao.getSanjilistBySql(sql); ObjectMapper mapper=new ObjectMapper(); String result=mapper.writeValueAsString(counties); System.out.println("country_result="+result); response.setContentType("text/javascript"); response.getWriter().print(result); } public void init() throws ServletException {// Put your code here}}dao:
package dao;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.List;import util.ConnectSql;import entity.Saler_Role;import entity.Sanji;/** * 三级联动的方法 * @author asus pc * */public class SanjiDao {ConnectSql connetSql =new ConnectSql();PreparedStatement ps =null;ResultSet rs=null;/** *根据不同sql语句, 获得联动列表 */public ListgetSanjilistBySql(String sql){List sanjilist = new ArrayList ();connetSql.ConnectSql();rs= connetSql.Querry(sql);try {while(rs.next()){Sanji sanji = new Sanji();sanji.setName(rs.getString("name"));sanji.setCode(rs.getString("code"));sanji.setParentCode(rs.getString("parentCode"));//System.out.println(rs.getInt(1)+rs.getString(2)+rs.getString(3)+rs.getInt(4));sanjilist.add(sanji);}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}connetSql.CloseCon();return sanjilist;}}
阅读全文
0 0
- 三级联动(数据库设计)
- 三级联动+数据库
- 三级联动并插入数据库
- 省市县三级联动(数据库)
- 省市三级联动(数据库)
- asp js三级联动菜单,数据库版本
- 三级联动下拉菜单[调用数据库数据]
- 省市区三级联动菜单(附数据库)
- 数据库三级联动的两种方法
- asp 三级数据库联动下拉列表
- jquery + 数据库的省市区三级联动
- 省市区三级联动菜单(附数据库)
- 省市区三级联动菜单(附数据库)
- 省市区三级联动菜单(附数据库)
- 省市区三级联动菜单(附数据库)
- 省市区三级联动菜单(附数据库)
- 连接数据库进行省市区三级联动
- Ajax和数据库实现三级联动
- 朴素贝叶斯分类
- COMSOL初级学习之一
- 我是如何从桌面维护转到Linux系统运维
- bitsharesjs库详解二:交易广播
- MySQL一次查询更新多行数据
- 三级联动+数据库
- 动态规划理解
- 关于Fatal error: Can't use function return value in write context报错的解决方法!
- sql 日累计,不对等关联
- 手把手制作一个vcpkg的安装包及port file相关说明
- 感谢雷神让我了解视音频技术,一路走好!
- Android studio导入项目时的问题(Re-download dependencies and sync project (requires network))
- 那些有趣 Python 库
- HDU