日期:2014-05-16  浏览次数:20377 次

mongodb基础系列——数据库查询数据返回前台JSP(二)

上篇博客论述了,数据库查询数据返回前台JSP。博客中主要使用Ajax调用来显示JSON串,来获取其中某一个字段,赋给界面中的某一个控件。

那这篇博客中,我们讲解,把后台List传递JSP展示。

List传递界面,以前我们普通的做法是怎么样的呢?foreach 的el表达式?还是java代码?

那对于本身就是Json格式的list,到底如何显示呢?

显然表单中的el表单以及java代码不合适。那我们继续使用Ajax来显示。

一:对于不使用前台框架的情况:就是咱们普通的table,到底如何以表格的形式显示list呢?

OK,方案如下:动态生成表格。

js代码如下:demo中使用某个按钮触发,当然可以在body初始化$(function(){//动态生成表格});各自所需哈。

我把table嵌套在div中:

<body>
	<input type="button" value="用ajax测试具体数据" onclick="testajax()" />
	<div id="testtable"></div>
   </body>
testajax() js如下:

	function testajax() {
		var _url = "http://localhost:8080/testmongodb/mongodb/";
		jQuery.ajax({
			url : _url,
			type : "get",
			dataType : "json",
			success : function(d) {
			    alert(JSON.stringify(d));
		        	//动态生成table
			    var mongotable=$("<table border=\"1\"></table>");
			    mongotable.appendTo("#testtable"); 
			   for(var o in d){
					//生成tr,添加到table中
					var tr=$("<tr></tr>");
		                        tr.appendTo(mongotable);
					//生成td
					var td_id=$("<td width=\"150\">"+d[o].id+"</td>");
					var td_name=$("<td width=\"150\">"+d[o].name+"</td>");
					var td_city=$("<td width=\"150\">"+d[o].address.city+"</td>");
					var td_code=$("<td width=\"150\">"+d[o].address.code+"</td>");
					
					//把td添加到tr中
					td_id.appendTo(tr);
					td_name.appendTo(tr);
					td_city.appendTo(tr);
					td_code.appendTo(tr);
				}
				alert($("#testtable").html());
			}
		});
	}
至于样式,大家可以根据自己需求在js添加哈。

后台的list如下:

[{ "_id" : { "$oid" : "52564aa6b16b9c6f728c0cf8"} , "id" : 1 , "name" : "小明" , "address" : { "city" : "beijing" , "code" : "065000"}}, { "_id" : { "$oid" : "52566683b16be14866e9bdc5"} , "id" : 2 , "name" : "小红" , "address" : { "city" : "beijing" , "code" : "065000"}}]
页面如下:

二:使用前台框架:举例,ligerui中的grid展示:(前提:把js、css已经引入)

grid代码如下: