Play和Extjs用Json数据交互的问题

DannyShare 发布于 2011/05/29 08:47
阅读 1K+
收藏 0

亲们,我是一名刚实习的大三学生,最近公司让我开发一个内部的OA系统(只有我一个,呜呜)。用的Play的框架,前台用的Extjs的框架,查了很多资料,还是不会使用Json实现后台和Extjs交互。

(1)比如,我的Model层中定义了一个User表,然后我在Controller层中通过List<User> users = Users.find("ByUsername",username).fetch();获得了相关数据,我如何使用Json格式传送到前台给Extjs使用。
  
(2)假如在Extjs中事件处理是调用controller中的一个类的静态方法,应该如何操作呢?

亲们,我水平有限,可能对于泛泛的回答我会听不懂,真诚希望你们能够详细的告诉我一下,如果有Demo的话那就更感激不尽了。

加载中
0
DannyShare
DannyShare

亲们,帮帮忙,谢谢啊。

0
fei_zheng
fei_zheng

你可以用renderJson(users); 前台 取到的就是json对象了。。

 

但是extjs 的各种控件要求的json的格式不一样

 

比如grid 控件

new Ext.ux.grid..JsonReader({

                root : 'items',

                totalProperty : 'totalCount',

                id : 'id'

            }, [ {

                name : 'id',

                type : 'int'

            }]),

            sortInfo : {

                field : 'id',

                direction : 'ASC'

            }

        }),

 

这样的话

jsonReader里面id 要对应Users对象里面的主键

返回的json要

Map map = new HashMap();

map.put("items", users);

renderJson(users);


所以要看看extjs 控件需要的json格式是怎样的。。自己组装成一样的。。好好琢磨,不懂再问哈


0
fei_zheng
fei_zheng
不好意思,是 renderJson(map);
0
DannyShare
DannyShare

引用来自“郑飞”的答案

你可以用renderJson(users); 前台 取到的就是json对象了。。

 

但是extjs 的各种控件要求的json的格式不一样

 

比如grid 控件

new Ext.ux.grid..JsonReader({

                root : 'items',

                totalProperty : 'totalCount',

                id : 'id'

            }, [ {

                name : 'id',

                type : 'int'

            }]),

            sortInfo : {

                field : 'id',

                direction : 'ASC'

            }

        }),

 

这样的话

jsonReader里面id 要对应Users对象里面的主键

返回的json要

Map map = new HashMap();

map.put("items", users);

renderJson(users);


所以要看看extjs 控件需要的json格式是怎样的。。自己组装成一样的。。好好琢磨,不懂再问哈


谢谢前辈啊,真的很感激啊

返回顶部
顶部