我开始为我的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();
希望我做对了。 :)请帮忙。
答案 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
});