如何从 servlet 获取数据到 EXTJS

Posted

技术标签:

【中文标题】如何从 servlet 获取数据到 EXTJS【英文标题】:How to Get the data from servlet to EXTJS 【发布时间】:2012-05-23 13:18:41 【问题描述】:

我正在使用 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 给我一些例子。

谢谢

【问题讨论】:

【参考方案1】:

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

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

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

【讨论】:

以上是关于如何从 servlet 获取数据到 EXTJS的主要内容,如果未能解决你的问题,请参考以下文章

EXTJS,SERVLET后台返回数据火狐无法获取,且报错:uncaught exception: [object Object]

如何从 Sencha extjs 获取存储价值

如何从 TreeStore Extjs4.1 获取数据

如何使用 ExtJS 访问从 JsonStore 获取的值?

Extjs 组合框显示具有从数据存储 rest/jsp 请求中获取的值的记录

纯 Javascript fetch() 方法到 java Servlet,我如何获取和传递数据?