0

Dojo ウィジェットは初めてです。dojogrid ウィジェットを使用してデータを表示したいと考えています。アクセス データベースを使用して、ウィジェットにデータを入力したいと考えています。私は JDBC を使用してデータベースに接続しており、結果セットの値のセットを取得します。その値を Dojogrid Widget に表示したいと思います。この問題にアプローチする方法について、いくつかのコードまたはリンクを提案してください。前もって感謝します。

4

1 に答える 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 風にしたい場合は、jsp/Java EE バックエンドを JSON を返すサービスとして使用し、プレーンな HTML をレンダリングに使用できます (そして、AJAX を使用して Java EE バックエンドから JSON をフェッチします)。

于 2012-02-27T06:03:52.413 に答える