Отображение данных на странице JSP с использованием сетки данных Dojo

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


person Shantanu Tomar    schedule 26.02.2012    source источник


Ответы (1)


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

сделайте следующее: 1) включите в свой JSP файл dojo и вспомогательные файлы (таблицы стилей, 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 в качестве службы, которая возвращает JSON, и использовать простой HTML для рендеринга (и использовать AJAX для извлечения JSON из бэкэнда Java EE)

person Vijay Agrawal    schedule 27.02.2012
comment
Сэр, вы можете сказать мне, как передать объект Json в String griddata? Какой синтаксис.? - person Shantanu Tomar; 04.03.2012
comment
stackoverflow.com/questions/9554814/ - person Shantanu Tomar; 04.03.2012
comment
Сэр, пожалуйста, помогите мне с приведенной выше ссылкой. - person Shantanu Tomar; 04.03.2012