Jquery+JSON二级联动

luozhangwen 2010-10-16 02:51:51
/**
需要json-lib-2.2.2-jdk15.jar包
jquery-1.3.2.min.js
*/


public class ProvinceDAO
{
public List<ProvinceBean> queryAll()
{
List<ProvinceBean> list = new ArrayList<ProvinceBean>();

list.add(new ProvinceBean(1,"湖南"));

list.add(new ProvinceBean(2,"广东"));

return list;
}
}

public class CityDAO
{
public List<CityBean> queryByPid(int id)
{
List<CityBean> list1= new ArrayList<CityBean>();
list1.add(new CityBean(1,"长沙",1));
list1.add(new CityBean(2,"湘潭",1));

List<CityBean> list2= new ArrayList<CityBean>();
list2.add(new CityBean(3,"广州",2));
list2.add(new CityBean(4,"深圳",2));

Map<Integer, List<CityBean>> map = new Hashtable<Integer, List<CityBean>>();
map.put(1, list1);
map.put(2, list2);
return map.get(id);
}
}

...全文
318 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Andy238 2012-04-28
  • 打赏
  • 举报
回复
有下载的,可以使用的吗?
宝宝的笨熊 2011-08-17
  • 打赏
  • 举报
回复
支持下
luozhangwen 2010-10-29
  • 打赏
  • 举报
回复
java生成json数据格式需要jar包:
commons-beanutils-1.7.0.jar
commons-collections-3.2.jar
commons-lang-2.4.jar
commons-logging-1.1.jar
ezmorph-1.0.4.jar
json-lib-2.2.2-jdk15.jar
luozhangwen 2010-10-16
  • 打赏
  • 举报
回复
ShowAll.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
<script type="text/javascript">
function change()
{
var param = encodeURI(encodeURI("中文"));
$.getJSON("QueryCityServlet?param="+param+"&id="+$("#province").val(),
function(data)
{
/*
var arrData = eval(data);
var cityObj = document.getElementById("city");
cityObj.options.length = 0;
for(var i=0;i<arrData.length;i++)
{
cityObj.options.add(new Option(data[i].cityName,data[i].id));
}*/

$("#city").html('');
for(var i=0;i<data.length;i++)
{
$('#city').append($("<option></option>").attr("value",data[i].id).text(data[i].cityName));
}
}
);
}

change();
</script>
<body>
<select name="province" id="province" onchange="change()">
<c:forEach items="${provinces}" var="province">
<option value="${province.id}">
${province.provName}
</option>
</c:forEach>
</select>

<select name="city" id="city">
</select>
</body>

</html>
luozhangwen 2010-10-16
  • 打赏
  • 举报
回复
QueryAllServlet.java

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException,
IOException
{
List<ProvinceBean> provinces = new ProvinceDAO().queryAll();
request.setAttribute("provinces", provinces);
request.getRequestDispatcher("ShowAll.jsp").forward(request, response);
}


QueryCityServlet.java

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException,
IOException
{
String idStr = request.getParameter("id");
int id = 1;
try
{
id = Integer.parseInt(idStr);
}
catch (Exception e)
{
id = 1;
}
List<CityBean> resultArray = new CityDAO().queryByPid(id);

request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
String param = URLDecoder.decode(request.getParameter("param"),"utf-8");
System.out.println(param);
PrintWriter out = response.getWriter();

JSONArray jsonArray = JSONArray.fromObject(resultArray);
System.out.println(jsonArray);
out.print(jsonArray.toString());
out.flush();
out.close();
}

23,404

社区成员

发帖
与我相关
我的任务
社区描述
Java 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧