我是 Dojo 小部件的新手。我想使用 dojogrid 小部件显示一些数据。我想使用访问数据库填充小部件中的数据。我正在使用 JDBC 连接到数据库,并将在结果集中检索一些值。现在我想在 Dojogrid Widget 中显示该值。请建议我一些关于如何解决这个问题的代码或链接。?提前致谢。
问问题
5017 次
1 回答
0
有几种方法可以实现这一点。由于您使用的是 JSP,因此最简单的方法是利用 JSP 中的 Java 绑定。
执行以下操作: 1) 在您的 JSP 中,包含 dojo 和支持文件(网格的样式表、dojo.js 和 dojo.requires)
2) 在请求/jsp 或会话中创建一个 java 变量,用于存储要在网格中呈现的数据。您可以使用 google gson 或类似库将 Java 对象转换为 JSON
3) 通过将dojo 数据存储(例如itemfilereadstore)绑定到保存数据的java 对象来创建它。例如:
<%
//you can also use a Java object/collectin and converted to json string using libraries such as Gson
String gridData = "{
identifier:"id",
items: [
{id:1, "Name":915,"IpAddress":6},
{id:2, "Name":916,"IpAddress":6},
{id:3, "Name":917,"IpAddress":6} ]
}";
%>
var gridStore = new dojo.data.ItemFileReadStore( { data: dojo.fromJson(<%= gridData %>)} );
var gridStructure = var gridStructure =[{
cells:[
[
{ field: "Name",
name: "Name",
width: "40%", styles: 'text-align: right;'
},
{ field: "IpAddress",
name: "Ip Address" ,
width: "40%",
styles: 'text-align: right;'
}
]
]
}];
4) 通过指定布局创建数据网格,并使用您在步骤 3 中创建的商店来填充网格
<div jsid="mygrid" id="mygrid" dojoType="dojox.grid.DataGrid"
gridOptions='{query:"" ,structure:gridStructure,store:gridStore}'
title="Simple Grid" style="width: 500px; height: 150px;"></div>
或者,如果您想更加 SOA-ish,您可以使用您的 jsp/Java EE 后端作为返回 JSON 的服务,并使用纯 HTML 进行渲染(并使用 AJAX 从 Java EE 后端获取 JSON)
于 2012-02-27T06:03:52.413 回答