0

我正在使用 EXTJS 和 SERVLET,在 servlet 中我通过 request.setAttribute 传递值,但无法在 EXTJS 中获取值。

Ext.onReady(function(){
    var myData=null;
    Ext.Ajax.request({
        url: 'DisplayTest',
        method:'POST',
        success: function ( result, request ) { 

        myData =Ext.decode(result.responseText);

        },
        failure: function ( result, request) { 
                Ext.MessageBox.alert('Failed', result.responseText); 
        } 
    });






     var store = new Ext.data.ArrayStore({
            fields: [
               {name: 'name'},
               {name: 'id'},

            ]
        });

     store.loadData(myData);

        // create the Grid
        var grid = new Ext.grid.GridPanel({
            store: store,
            columns: [
                {
                  //  id       :'company',
                    header   : 'Name', 
                    width    : 160

                },
                {
                    header   : 'ID', 
                    width    : 75 

                },


            ],

            height: 350

        });

        grid.render('db-grid');

});

在上面的代码中,我想将 servlet 中的值以数组或列表的形式放入变量 myData。谁能通过servlet和EXTJS给我一些例子。

谢谢

4

1 回答 1

0

您将无法使用 Servlet 直接从 Servlet 传递数据request.setAttribute。使用该formPanel.getForm().load()方法将请求传递给 servlet。此方法需要响应中的 JSON 对象:形式如下:

{ success: true, {
    name: "Andy",
    dob: "11-12-1987"
    }
}

您可以通过 PrintWriter.write() 函数发送此数据,也可以使用 servlet 中的 JSON API,该 API 根据提供给 API 的数据直接提供 json 字符串。

于 2012-07-23T09:22:10.270 回答