方式一:使用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一样,其实不管采用什么方式,关键在于最终在前台对数据的解析。所以只要传过来的数据符合一定格式,就可以实现类似的功能)其它的与方法一类似