-
jackson
Jackson是一个简单基于Java应用库,Jackson可以轻松的将Java对象转换成json对象
和xml文档,同样也可以将json、xml转换成Java对象核心代码:
ObjectMapper mapper = new ObjectMapper();
mapper.writeValueAsString(obj);int count = md.getColumnCount();
map.put(md.getColumnName(i), rs.getObject(i));
javaBean 与Map集合转换成json字符串的格式是一样的
json死循环问题 //StackOverflowError栈异处 双向绑定
- 有双向绑定改成单项绑定 也就是说将彼此之间的关系交于一方维护
2.@JsonIgnore/程序控制 :将彼此调用的属性忽略;不参与对象转成json格式
json通用查询
public List<Map<String, Object>> executeQuery(String sql, PageBean pageBean) throws SQLException, InstantiationException, IllegalAccessException{
return super.executeQuery(sql, pageBean, new Callback<Map<String, Object>>() {
@Override
public List<Map<String, Object>> foreach(ResultSet rs) throws SQLException, InstantiationException, IllegalAccessException {
/*
* 1、创建一个实体类的实例
* 2、给创建的实例属性赋值
* 3、将添加完类容的实体类添加到list集合中
*/
List<Map<String, Object>> list = new ArrayList<>();
//获取数据源
ResultSetMetaData md = rs.getMetaData();
int count = md.getColumnCount();
Map<String, Object>map=null;
while(rs.next()) {
map=new HashMap<>();
for (int i = 1; i <= count; i++) {
map.put(md.getColumnName(i), rs.getObject(i));
}
list.add(map);
}
return list;
}
});
}
- jQuery的ajax请求
$.ajax
url
URL后添加时间戳防止浏览器缓:xxx?ts=new Date().getTime()
success
dataType
error
3级联动
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery.min.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath}/js/demo10.js"></script>
</head>
<body>
<div>
<input type="hidden" id="ctx" value="${pageContext.request.contextPath}">
<h1>$.ajax实现省市联动</h1>
<div>
收货地址
<select id="province">
<option selected="selected">---请选择省份---</option>
</select>
<select id="city">
<option selected="selected">---请选择城市---</option>
</select>
<select id="county">
<option selected="selected">---请选择县区---</option>
</select>
</div>
</div>
</body>
</html>
$(function() {
var ctx = $("#ctx").val();
$.ajax({
url:ctx+"/regionServelt",
success:function(data) {
for (index in data) {
//console.log(data[index]);
$("#province").append("<option value='"+data[index].ID+"'>"+data[index].REGION_NAME+"</option>")
}
},
dataType:"json"
});
$("#province").change(function(){
$("option:gt(0)","#city").remove();
$.ajax({
url:ctx+"/regionServelt?ID="+this.value,
success:function(data) {
for (index in data) {
//console.log(data[index]);
$("#city").append("<option vaslue='"+data[index].ID+"'>"+data[index].REGION_NAME+"</option>")
}
},
dataType:"json"
});
})
$("#city").change(function(){
$("option:gt(0)","#county").remove();
$.ajax({
url:ctx+"/regionServelt?ID="+this.value,
success:function(data) {
for (index in data) {
//console.log(data[index]);
$("#county").append("<option value='"+data[index].ID+"'>"+data[index].REGION_NAME+"</option>")
}
},
dataType:"json"
});
})
})