Отображение данных на странице JSP с использованием сетки данных Dojo - PullRequest
0 голосов
/ 26 февраля 2012

Я новичок в виджетах Dojo.Я хочу отобразить некоторые данные с помощью виджета dojogrid.Я хочу заполнить данные в виджете с помощью базы данных доступа.я подключаюсь к базе данных с помощью JDBC и получу некоторый набор значений в наборе результатовТеперь я хочу отобразить эти значения в Dojogrid Widget.Пожалуйста, предложите мне некоторый код или ссылки относительно того, как подходить к этой проблеме.Заранее спасибо.

1 Ответ

0 голосов
/ 27 февраля 2012

Есть несколько способов достижения этого.Поскольку вы используете JSP, проще всего будет использовать привязки Java в JSP.

выполните следующее: 1) в вашем JSP включите dojo и вспомогательные файлы (stylesheets, dojo.js и dojo.requires длясетка)

2) создайте переменную java в запросе / jsp или сеансе, которая хранит данные, которые вы хотите отобразить в сетке.Вы можете использовать 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 backend как сервис, который возвращает JSON, и использовать обычный HTML для рендеринга (и использовать AJAX для извлечения JSON из Java EE backend)

...