Address.java
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
publicclass Address{
DbUtil8 d=new DbUtil8();
public List<Province> getProvince(){
String sql = "select province_id,province from tm_province ";
Connectionconn=null;
PreparedStatementpstm=null;
ResultSetrs=null;
List<Province> addList =newArrayList<Province>();
conn=d.getConnection();
try {
pstm=conn.prepareStatement(sql);
rs=pstm.executeQuery();
while (rs!=null&&rs.next()){
Provincepro=newProvince();
pro.setProvince_id(rs.getString("province_id"));
pro.setProvince(rs.getString("province"));
addList.add(pro);
System.out.println("调用findByName方法");
}
}catch(SQLException e) {
//TODOAuto-generated catch block
e.printStackTrace();
}finally{
d.close(null, pstm,conn);
}
returnaddList;
}
public List<HashMap<String, Object>> getCity(String province_id){
String sql = "select city_id, cityfrom tm_city where province_id=? ";
Connectionconn=null;
PreparedStatementpstm=null;
ResultSetrs=null;
// List<City> addList = new ArrayList<City>();
List<HashMap<String,Object>> maps =null;
conn=d.getConnection();
Citycity=new City();
try {
maps = newArrayList<HashMap<String,Object>>();
pstm=conn.prepareStatement(sql);
pstm.setString(1,province_id); //!!!!!!!!!!!!!!!!!!!!!!!!!!
rs=pstm.executeQuery();
HashMap<String,Object> map =null;
while (rs!=null&&rs.next()){
map= newHashMap<String, Object>();
map.put("id",rs.getString("city_id"));
map.put("name",rs.getString("city"));
maps.add(map);
}
}catch(SQLException e) {
//TODOAuto-generated catch block
e.printStackTrace();
}finally{
d.close(null, pstm,conn);
}
return maps;
}
}
Address.jsp
<%@ page language="java"contentType="text/html;charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="com.test.bean.*,java.util.*"%>
<%@ taglib prefix="c"uri="http://java.sun.com/jsp/jstl/core"%>
<c:setvar="ctx"value="${pageContext.request.contextPath}"/>
<!DOCTYPEhtml PUBLIC "-//W3C//DTDHTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<scripttype="text/javascript"src="js/jquery-1.11.1.min.js"></script>
</head>
<body>
<% Address address=new Address();
List<Province> list=address.getProvince();
request.setAttribute("province", list);
%>
<select id="province"onchange=" selectPro(this)">
<option value="">-请选择-</option>
<c:forEach var="pv"items="${province}">
<optionvalue="${pv.province_id}">${pv.province}</option>
</c:forEach>
</select>省
<select id="city"onchange=" selectCity(this)">
<option value="">-请选择-</option>
</select>市
<select id="area">
<option value="">-请选择-</option>
</select>县
<scripttype="text/javascript">
function selectPro(obj){
var provinceId=$(obj).val();
alert(provinceId);
if(!provinceId)return;// 声明变量就要判断是否为null
$.ajax({
type:"post",
url:"${ctx}/CityServlet",
data:{"provinceId":provinceId},
success:function(data){
var data1=data.trim();
if(data1=="fail"){
alert("查询失败");
}else{
alert(data1);
var jsonData=eval(data1);
append_template(jsonData,"city");
…
functionappend_template(jsonData,target){
var length= jsonData.length;
var html ="<option>-请选择-</option>";
for(vari=0;i<length;i++){
html+="<optionvalue='"+jsonData[i].id+"'>"+jsonData[i].name+"</option>";
}
$("#"+target).html(html);
};
</script>
</body>
</html>
Servlet
String provinceId =request.getParameter("provinceId");
System.out.println(provinceId);
if(provinceId!=null&&!provinceId.equals("")){
// List<City> list=newAddress().getCity(provinceId);
List<HashMap<String,Object>> citys=newAddress().getCity(provinceId);
try {
response.setContentType("text/html;charset=UTF-8");
response.setCharacterEncoding("utf-8");
response.getWriter().print(JSONUtil.serialize(citys));
}catch(JSONException e) {
e.printStackTrace();
}
// response.getWriter().print(JSONArray.fromObject(list));
}else{
response.getWriter().print("fail");
}
源码地址:http://download.csdn.net/detail/lixiyuyu/9610732