如何从servlet获取数据到EXTJS

时间:2012-05-23 13:18:41

标签: extjs3

我正在使用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');

});

在上面的代码中,我希望以数组或List的形式将servlet中的值传递给变量myData。 任何人都可以通过servlet和EXTJS给我一些例子。

由于

1 个答案:

答案 0 :(得分:0)

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

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

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