使用Dojo Data网格在JSP页面上显示数据

时间:2012-02-26 14:11:30

标签: jsp dojox.grid.datagrid

我是Dojo小部件的新手。我想使用dojogrid小部件显示一些数据。我想使用访问数据库填充窗口小部件中的数据。我使用JDBC连接到数据库,并将在结果集中检索一些值集。现在我想在Dojogrid Widget中显示这些值。请向我建议一些代码或链接,以了解如何解决这个问题。提前致谢。

1 个答案:

答案 0 :(得分:0)

有几种方法可以实现这一目标。由于您使用的是JSP,因此最简单的方法是利用JSP中的Java绑定。

执行以下操作: 1)在JSP中,包括dojo和支持文件(网格的样式表,dojo.js和dojo.requires)

2)在request / jsp或session中创建一个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) )