struts2配置:
<package name="ajax" extends="json-default" namespace="/ajax">
<action name="*Action_*" class="com.rgm.action.{1}Action" method="{2}">
<result type="json">
<!-- 若配<param name="root">result</param>则返回的是数组,不配返回对象-->
</result>
</action>
</package>
app.js:
Ext.onReady(function() {
Ext.define('YunBean', {
extend: 'Ext.data.Model',
fields: ['id', 'nickname'],
proxy: {
type: 'ajax',
url : './ajax/MyAction_test.action',
reader: {
type: 'json'
//根据需要配置 root: 'result'
}
}
});
var temp = Ext.create('Ext.data.Store', {
autoLoad: true, //自动加载数据
model: 'YunBean'
});
});
MyAction.java:
public class MyAction extends ActionSupport{
private static final long serialVersionUID = 1L;
private Object[] result;
public Object[] getResult() {
return result;
}
public void setResult(Object[] result) {
this.result = result;
}
public String test(){
try{
List<SubBean> list = new ArrayList<SubBean>();
SubBean s = new SubBean();
s.setId(1);
s.setNickname("rgm1");
list.add(s);
s = new SubBean();
s.setId(2);
s.setNickname("rgm2");
list.add(s);
JSONArray json = JSONArray.fromObject(list);
result = json.toArray();
}catch(Exception e){
e.printStackTrace();
}
return SUCCESS;
}
}