从JSON到Servlet数据

时间:2013-03-11 23:25:12

标签: javascript json jsp servlets extjs4

我开始为我的ExtJS驱动的UI学习JSON,但现在我遇到了如何将数据从我的servlet传递到JSP组合框的问题。

我的servlet的输出已经正常。 (我希望如此。:))这是我的servlet代码..

JSONArray jsonarray = new JSONArray();
            ResultSetMetaData rsmd = rs.getMetaData();

            int y = 1;
            while(rs.next()){
                int numColumns = rsmd.getColumnCount();
                JSONObject obj = new JSONObject();

            for (int i=1; i<numColumns+1; i++) {
                String column_name = rsmd.getColumnName(1);
                    String column_value = rs.getString(i);
                    obj.put(column_value, y);

                }

                jsonarray.put(obj);

                 y++;
            }   

然后我在ExtJS中的组合框是;

            xtype: 'combo',
    name: 'genre',
    fieldLabel: 'Genre',
    mode: 'local',
    store: genres2,
    width: 120,             
    forceSelection: true,
    typeAhead: true,
    triggerAction: 'all',
    emptyText:'Select materials...',
    selectOnFocus:true,
    displayField: 'column_value'

var genres2 = new Ext.data.SimpleStore({
    root: 'rows',
    totalProperty: 'totalCount',
    method: 'POST',
    proxy: new Ext.data.HttpProxy({  
        url : '/ExtJS_Sample/ConnectionServlet'
    }), 

    autoLoad: true
});

genres2.load();

希望我做对了。 :)请帮忙。

1 个答案:

答案 0 :(得分:0)

Ext.data.SimpleStore 定义应该包含&#39; 字段&#39;属性定义。

例如,

Ext.data.SimpleStore({
root: 'rows',
fields: [ {name: 'company'},
          {name: 'price', type: 'float'},
          {name: 'change', type: 'float'},
          {name: 'pctChange', type: 'float'}],
totalProperty: 'totalCount',
method: 'POST',
proxy: new Ext.data.HttpProxy({  
          url : '/ExtJS_Sample/ConnectionServlet'
       }), 
autoLoad: true 
});