【问题标题】:dojox.grid.DataGrid populated from Servlet从 Servlet 填充的 dojox.grid.DataGrid
【发布时间】:2011-02-23 15:24:15
【问题描述】:

我想拥有一个 Dojo dojox.grid.DataGrid 及其来自 servlet 的数据。

问题:从 servlet 返回的数据没有显示出来,只是消息“对不起,发生了错误”。

如果我只是将 JSON 字符串放入 HTML,它就可以工作。啊啊啊啊。

谁能帮帮我!

谢谢 杰夫·波特

Servlet 代码...

public void doGet(HttpServletRequest req, HttpServletResponse resp) {
    res.setContentType("json");
    PrintWriter pw = new PrintWriter(res.getOutputStream());
    if (response != null) pw.println("[{'batchId':'2001','batchRef':'146'}]");
    pw.close();
}

HTML 代码...

    <div id="gridDD" dojoType="dojox.grid.DataGrid" 
    jsId="gridDD" style="height: 600x; width: 100%;" 
    store="ddInfo" structure="layoutHtmlTableDDDeltaSets">
    </div>      

    var rawdataDDInfo = ""; // empty at start
    ddInfo = new dojo.data.ItemFileWriteStore({
        data: {
            identifier: 'batchId',
            label: 'batchId',
            items: rawdataDDInfo
        }
    });
    <script>
    function doSelectBatchsAfterDate() {
    var xhrArgs = {
        url: "../secure/jsonServlet",
        handleAs: "json",
        preventCache: true,
        load: function(data) {
        var xx =dojo.toJson(data);
            var ddInfoX = new dojo.data.ItemFileWriteStore({data: xx});
            dijit.byId('gridDD').setStore(ddInfoX);
        },
        error: function(error) {
                alert("error:" + error);
        }
    }

    //Call the asynchronous xhrGet
    var deferred = dojo.xhrGet(xhrArgs);
    }
    </script>
<img src="go.gif" onclick="doSelectBatchsAfterDate();"/>

【问题讨论】:

    标签: dojo dojox.grid.datagrid


    【解决方案1】:

    当您使用从服务器返回的 JSON 数据创建 dojo.data.ItemFileWriteStore 时。您只需提供项目,您仍然需要指定元数据。正确的代码应该如下。

    var ddInfoX = new dojo.data.ItemFileWriteStore({
        data: {
            identifier: 'batchId',
            label: 'batchId',
            items: xx
        }
    });
    

    而且您不需要将 JSON 对象转换为 JSON 字符串的 dojo.toJson 函数。 dojo.data.ItemFileWriteStore 需要 JSON 对象作为参数,而不是 JSON 字符串。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-07
    • 2012-10-18
    • 1970-01-01
    • 2015-01-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多