model类如何以model.title,model.name的json方式传回页面。

糯米白饭团 发布于 2014/06/20 00:21
阅读 472
收藏 0

@JFinal

我现在知道renderJson可以方便的把model类转为类似以下格式的json:

{"id":"2","icon":"icon-hamburg-database","logo":"","uniqueid":"test","title":"test","sort":2,"localcache":"1","status":"0"}

可是要是想绑定到表单的域中,必须要用这样的格式:

{"data.id":"2","data.icon":"data.icon-hamburg-database","data.logo":"","data.uniqueid":"test","data.title":"test","data.sort":2,"data.localcache":"1","data.status":"0"}

有没有这样的方法啊?


加载中
0
giianhui
giianhui
setAttr("data",model);
糯米白饭团
糯米白饭团
@giianhui 这种方式是render到界面上的时候使用,json的话无法返回。
0
我不知道叫什么了
我不知道叫什么了

1.先再Controller里面 setAttr("data",model);

2.在页面用${data.id} ..取值

糯米白饭团
糯米白饭团
我想直接通过ajax请求,接回的json中就是这样的格式。
0
糊搞

自己参照JsonKit.otherToJson(),写个Kit专门用于转换Model属性名为model.attrname形式。

继承JsonRender.java,命名为ToDotAttrNameJsonRender,覆盖相关方法,将Model转Json那段改为你写的Kit去执行。。。代码中使用render(new ToDotAttrNameJsonRender(model))。。。

要注意的是,Record也改成此方式

糊搞
你这是特殊要求,而不是通常要求,,, 就好像你要求Windows这个操作系统中自带的Media Player能够像迅雷看看一样强大。 要求本身是不切实际的
糯米白饭团
糯米白饭团
嗯嗯,谢谢~这方法肯定可行。但是为啥JFinal内部不封装个这样的方法啊,毕竟页面都是以命名空间的方式命名的,返回页面的时候不一定就是页面返回并绑定表单域数据啊,有可能是Json的方式啊。
返回顶部
顶部