我最近开始研究一个Web项目。我的要求是使用Flexigrid Jquery插件从数据库中渲染一些数据块。在服务器端,我使用Jackson来格式化数据。我的jquery脚本如下所示:
<script type="text/javascript">
$(document).ready(function() {
$("#customers").flexigrid({
url: 'JsonHandler',
dataType: 'json',
colModel : [
{display: 'Id', name : 'userid',},
{display: 'Name', name : 'fullname',},
],
title: 'Table',
width: 700,
height: 200
});
});
</script>
服务器将有效的Json数据发送到浏览器(这是我在Firebug中获得的):
[{"userid":"a","fullname":"John Doe"},
{"userid":"b","fullname":"Mark Brown"},
{"userid":"c","fullname":"Mads Borsen"}]
出于某种原因,我的桌子仍然是空的。如果您有任何建议,请提供帮助。
我认为来自name
的{{1}}选项需要与json数据中的密钥完全匹配,对于我的案例colModel
和userid
。
它可能与字符编码有关吗?
谢谢!
答案 0 :(得分:3)
FLEXIGRID 需要呈现的格式是这样的
{"page":"1","total":"1","rows":
[
{"id":"1","cell":["1","55144602","Z014162","C"]},
{"id":"3","cell":["3","55189392","Z014162","C"]},
{"id":"4","cell":["4","55189393","Z014162","C"]},
{"id":"5","cell":["5","55189394","Z014162","C"]},
{"id":"6","cell":["6","55189395","Z014162","C"]}
]}
您需要包含“page”,“total”和“rows”字段,还包括“id”和“cell”字段。 “cell”:[]括号中包含的值是flexigrid用于渲染或填充网格的值,我使用jsp文件模拟答案以进行测试,My grid有4个字段,如您所见,它们充满了答案中每个细胞区域的值。
我正在构建一个JACKSON可以渲染的对象,但是我仍然正在处理它,我必须实现的唯一线索是,如果你发送一个ArrayList,则返回一个[]响应,如果你只返回一个Oject,或者JavaBean它返回一个{}响应。
希望此信息有助于。
Manuel Santillan El Leon