实现界面:
选择了城市之后学校以alert的形式弹出来;1未实现学校填进了<select id="school">的<option>标签里:
主要只写出了 数据库与之联动的问题 连接数据库的问题上一章已经写了。此处直接DbUtil.getConn();
dao层
/* 根据城市的cid 返回学校list集合
* @see cn.sousuo.dao.SchoolDao#findSchool(int)
*/
@Override
public List<School> findSchool(int cid) {
// TODO Auto-generated method stub
List<School> list = new ArrayList<>();
Connection conn = DbUtil.getConn();
String sql = "SELECT * FROM tb_school where cid = ?";
try {
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, cid);
ResultSet rs = pstmt.executeQuery();
while(rs.next()){
list.add(new School(rs.getInt(1),rs.getString(2)));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return list;
}
model层
新建一个School类属性有sid和sname=====与数据库中表的字段名一致。
Servlet层
方法一致“
//获取参数
int cid = Integer.parseInt(request.getParameter("cid"));
// 获取list
SchoolDao schoolDao = new SchoolDaoImp();
List<School> list = schoolDao.findSchool(cid);
//传递参数
response.getWriter().write(list.toString());protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub int cid = Integer.parseInt(request.getParameter("cid")); SchoolDao schoolDao = new SchoolDaoImp(); List<School> list = schoolDao.findSchool(cid); response.getWriter().write(list.toString()); }
js代码
<script type="text/javascript" src="js/jquery-1.11.3.min.js"></script>
<script type="text/javascript">
$(function(){
$("#city").change(function(){
var cid = $(this).val();
$.ajax({
method:"POST",
url:"SchoolServlet",
data:{
"cid":cid
},
success:function(data){
alert(data);
}
});
})
})
</script>
</head>
<body>
<div>
城市:<select id="city">
<option value="">---请选择---</option>
<option value="1">株洲</option>
<option value="2">张家界</option>
<option value="3">长沙</option>
<option value="4">湘潭</option>
</select>
学校:<select id="school">
<option value="">---请选择---</option>
</select>
</div>
下一篇再写将list放到id=”school“的select里面,因为要新认识一个架包:xStream :将对象序列化成xml格式 或反序列化为对象