extjs4+struts2

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;
    }
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

你可能感兴趣的:(json,struts,object,action,ExtJs,autoload)