之前运用jquery-ajax请求后台struts2数据,返回到页面的回调函数都是以html格式的,得到的为String字符串。即便在使用xml格式化或解析的情况下,也是一html标签形式来显示格式化后或解析过的xml。最近需要得到的数据在页面动态显示在select下拉列表中,思考过后决定使用json数据格式方便。
要运用json,首先下载需要的jar包,我使用的是json-lib-1.1-jdk13.jar,由于包种还关联其它jar包,所以还需下载相关包,总共7个。
下载地址:json lib
js:
$(document).ready(function(){
var aa=document.getElementById("aa").value;
$.ajax({
url : encodeURI("getSelect.action?aa="+aa),
type : 'POST',
dataType : "json",
success : function(data) {
var bb =$(document).find("#bb");
pub_platform.empty();
for ( var i = 0; i < data.length; i++) {
bb.append("<option value='"+data[i]+"'>"+ data[i]+ "</option>");
}
}
});
});
后台操作简单,只需根据页面传参数获取数据库列表信息,以下是action中将查询到的list转换json:
JSONArray jsonArray = JSONArray.fromObject(list);
response.getWriter().print(jsonArray);