0

私は Struts アプリケーションに取り組んでおり、jqGrid のテーブルにオブジェクトのリストを設定する必要があります。

テーブルの作成に ajax を使用したくありません。リクエストでオブジェクトのリストを渡し、JSP でそれを使用してテーブルを生成したいと考えています。

どうすればできますか??

検索すると、同じ問題に関する質問が見つかりました: http://www.coderanch.com/t/549822/Struts/fill-jqgrid-java-object-list

よろしく

4

2 に答える 2

1

jqGridを作成するJavaScriptコードの詳細は投稿していません。だから私はあなたが現在何をしているのか、そして記述された問題を解決するために何ができるのかを推測しようとしています. datatype: "json"loadonce: true以下を使用することをお勧めしますjsonReader

jsonReader: {
    root: function (obj) { return obj; },
    repeatitems: false
}

主キーのような一意の情報を含む、またはグリッドのすべての行で一意であるグリッドの列が存在する場合は、 のjsonReaderような追加のプロパティを追加する必要がありますid: "columName"。ここ"columName"で、 は一意の情報を持つ列の名前です。

于 2013-03-05T12:16:49.000 に答える
1

最後に、JSON を使用して、Java から Javascript へのリクエスト全体でデータを渡します

Struts Action では、私はそれを行います

List<Object> dataList = Service.getData();
request.setAttribute("dataList", new Gson().toJson(dataList));

次に、JSP の Javascript コードで JSON 値の評価を行い、渡された文字列を配列に変換します。

<table id="tableExample"></table>

<script>

$("#tableExample").jqGrid({ 
    datatype: "local", 
    height: 250, 
    data: eval('<%= request.getAttribute("dataList") %>'),
    colNames:['col1','col2', 'col3', 'col4'], 
    colModel:[ 
        {name:'a1', index:'a1', width:150, align:"right", sorttype:"float"}, 
        {name:'a2', index:'a2', width:150, align:"right", sorttype:"float"}, 
        {name:'a3', index:'a3', width:150, align:"center", sorttype:"date", formatter:'date', formatoptions:{"srcformat":"d/m/Y","newformat":"d/m/Y"}}, 
        {name:'a4', index:'a4', width:150, align:"center", sorttype:"date", formatter:'date', formatoptions:{"srcformat":"d/m/Y","newformat":"d/m/Y"}}
    ], 
    caption: "Table Example"
}); 

</script>
于 2013-03-05T16:32:47.657 に答える