我正在使用EXTJS和SERVLET,在servlet中我通过request.setAttribute传递值, 但是无法在EXTJS中获得价值。
Ext.onReady(function(){
var myData=null;
Ext.Ajax.request({
url: 'DisplayTest',
method:'POST',
success: function ( result, request ) {
myData =Ext.decode(result.responseText);
},
failure: function ( result, request) {
Ext.MessageBox.alert('Failed', result.responseText);
}
});
var store = new Ext.data.ArrayStore({
fields: [
{name: 'name'},
{name: 'id'},
]
});
store.loadData(myData);
// create the Grid
var grid = new Ext.grid.GridPanel({
store: store,
columns: [
{
// id :'company',
header : 'Name',
width : 160
},
{
header : 'ID',
width : 75
},
],
height: 350
});
grid.render('db-grid');
});
在上面的代码中,我希望以数组或List的形式将servlet中的值传递给变量myData。 任何人都可以通过servlet和EXTJS给我一些例子。
由于
答案 0 :(得分:0)
您将无法使用request.setAttribute
直接从Servlet传递数据。使用formPanel.getForm().load()
方法将请求传递给servlet。此方法需要响应中的JSON对象:形式为:
{ success: true, {
name: "Andy",
dob: "11-12-1987"
}
}
您可以通过PrintWriter.write()函数发送此数据,也可以使用servlet中的JSON API,它直接根据提供给API的数据提供json字符串。