方式一:使用jar包,直接转化成json格式,再使用outwrite写到jsp中
先说说要使用到的包commons-beanutils.jar、commons-collections.jar、commons-lang.jar、commons-logging.jar、ezmorph-1.0.6.jar、json-lib-2.4-jdk15.jar
代码如下:WareServlet
List<WareDto1> searchwareli = ws.search_wares(wd);//获取未分页数据
if(searchwareli!=null)
{
JSONArray jsonArray = JSONArray.fromObject(searchwareli);
PrintWriter out = response.getWriter();
out.write(jsonArray.toString());
}
jsp页面
$(function(){
$.ajax({
type:"post",//请求方式
url:"${ctx}/ware/WaretServlet?action=search_wares_json&WareName=${clause.wareName}&Company=${clause.company}&Addr=${clause.addr}&SortID=${clause.sortID}",//发送请求地址
dataType:"json",
data:{//发送给数据库的数据
},
//请求成功后的回调函数有两个参数
success:function(data,textStatus){
var objs=eval(data); //解析json对象
var content = ""; for(var i=0;i<objs.length;i++)
{
alert(objs[i].wareName);
}
//alert(content);
$('#search_result').html(content);
}
});
});
方式二:使用拼接的方式,把对象组织成json格式的数据,再使用outwrite写到jsp中
大家知道json的数据格式为{"name":"liming","hobby":['足球','篮球','羽毛球']}这种格式,所以,同理,把你的对象里面的数据接接成这种格式,再转化成json对象,也可以达到相同效果(同理,其实不使用json格式,使用xml的效果不是不一样呢,就像ajax一样,其实不管采用什么方式,关键在于最终在前台对数据的解析。所以只要传过来的数据符合一定格式,就可以实现类似的功能)其它的与方法一类似