1

我开始为我的 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();

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

4

1 回答 1

0

Ext.data.SimpleStore定义应该定义了“ fields 属性。

例如。,

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 
});
于 2013-03-15T07:52:19.697 回答