如何使用Extjs执行ajax调用以从jsp中的数据库中获取数据?

时间:2013-10-31 13:53:47

标签: java ajax json jsp extjs

我正在使用Extjs框架。首先,我创建一个servlet来从数据库中获取数据。从数据库获取数据后,我将存储在列表中。然后我将列表转换为json数组。现在我想使用Extjs ajax调用将这些数据放入jsp页面。我怎样才能做到这一点? 我的servlet是

String str = "select * from employee";
                    rs = stmt.executeQuery(str);
                    List<Employee> list1 = new ArrayList<Employee>();
                    while(rs.next){
                        emp = new Employee();
                        emp.setEmpId(rs.getInt(1));
                        emp.setFirstName(rs.getString(2));
                        list1.add(emp);
                    }
                    Gson gson = new Gson();
                    JsonElement element = gson.toJsonTree(list1, new TypeToken<List<Employee>>() {
                    }.getType());
                    JsonArray jsonArray = element.getAsJsonArray();
                    response.setContentType("application/json");
                    response.getWriter().print(jsonArray);

现在我通过Extjs单击按钮在jsp文件中调用此servlet。怎么办ajax电话?我正在使用它..

    Ext.onReady(function () {
    Ext.create('Ext.Button', {
        text: 'click',
        handler: function () {  
            Ext.Ajax.request({
           url: 'TestEmployee',
       success: function(result, request) {
      /////what shold I do here so that I get data here and display in jsp???
   },
   failure: function(response, opts) {
      Ext.MessageBox.alert('Failed', result.responseText);
   }
});
        },   
        renderTo: Ext.getBody()

    });
    });

2 个答案:

答案 0 :(得分:0)

尝试

var array = Ext.decode(result.responseText);

答案 1 :(得分:0)

您使用的是什么版本的ExtJ?

我建议您使用Ext 4,以便使用MVC模式。

我会尝试在网格中呈现员工列表,因此我会通过store.load()执行ajax请求,其中商店将绑定到网格。

这是Extjs 4的基本教程

http://docs.sencha.com/extjs/4.2.2/#!/guide/getting_started

http://docs.sencha.com/extjs/4.2.2/#/guide/application_architecture

最好的问候。