使用servlet和extjs不会从数据库将数据加载到网格中

时间:2015-07-29 10:08:10

标签: javascript java servlets extjs

我有一个网格,我想显示数据库中的数据。目前我的网格显示正常但没有从数据库加载数据,我也没有收到任何错误。任何帮助将不胜感激!

我的模特 Student.js

Ext.define('MyApp.model.Student', {
 extend: 'Ext.data.Model',

 fields: [
     {name: 'id', type: 'int'},
     {name: 'name', type: 'string'},
     {name: 'address', type: 'string'},
     {name: 'phone', type: 'string'},
     {name: 'email', type: 'string'},
     {name: 'faculty', type: 'string'}
 ]
 });

我的 StudentStore

 Ext.define('MyApp.store.StudentStore', {
extend: 'Ext.data.Store',
model: 'MyApp.model.Student',
sorters: ['name'],
autoLoad: true,
autoSync: false,
proxy: {
    method: 'GET',
    type: 'ajax',
    url: 'http://localhost:8080/extServlet/StudentController?action=listStudent',
    reader: {
        type: 'json',
        rootProperty: 'StudentStore'
    }
}
});

最后我的 List.js 放置了网格

Ext.define('MyApp.view.main.List', {
extend: 'Ext.grid.Panel',
xtype: 'mainlist',
title: 'Student Records',
scrollable: true,
margin: 20,
layout: {
    type: 'vbox',
    align: 'stretch'
},
reference: 'studentGrid',
frame: true,
collapsible: true,
store: 'StudentStore',
collapsible: true,
columns: [
    { 
        text: 'Name', 
        dataIndex: 'name',
        flex: 1 
    },

    { 
        text: 'Address', 
        dataIndex: 'address', 
        flex: 1 
    },
    { 
        text: 'Phone', 
        dataIndex: 'phone', 
        flex: 1
    },
    { 
        text: 'Email',
        dataIndex: 'email',
        flex: 1
    },
    { 
        text: 'Faculty',
        dataIndex:'faculty',
        flex: 1
    }
]
});

注意我已在 Application.js 文件中加载商店模型

这是我的servlet代码,它使用 getStudents()返回学生的arraylist

 response.setContentType("application/json");
 response.setCharacterEncoding("UTF-8");
 response.getWriter().write(new Gson().toJson(studentdao.getStudents()));

0 个答案:

没有答案