之前运用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);