Spring MVC 下使用easyui如何在前台接收后台的特定Json数据?
我直接访问后台的地址(带两个参数),得到的是:{"msgValue":"0","msgText":"查询成功","msgReturnMap":{"User":[{"use...
我直接访问后台的地址(带两个参数),得到的是:{"msgValue":"0","msgText":"查询成功","msgReturnMap":{"User":[{"userId":1,"username":"张三","userGender":"男"}]}},现在我需要用easyui以表格的形式在前台显示{"userId":1,"username":"张三","userGender":"男"}这部分的数据,怎么做?
展开
2个回答
展开全部
表格?easyui有个datagrid控件可以干这个事情
如果你从后台返回一个json对象,datagrid的url可以读取这个地址返回的json对象,注意,它会自动读取这个json对象第一层的rows属性,你要把表格数据放到json对象的rows里面...
或者ajax得到json对象,你重新做一json,里面有2个属性,rows和total,数据放在rows,总数放在total里,total可以忽略....
就是这种{rows:[{"userId":1,"username":"张三","userGender":"男"}],total:1}
然后用$('#id').datagrid('loadData',json);去读取数据...
如果你从后台返回一个json对象,datagrid的url可以读取这个地址返回的json对象,注意,它会自动读取这个json对象第一层的rows属性,你要把表格数据放到json对象的rows里面...
或者ajax得到json对象,你重新做一json,里面有2个属性,rows和total,数据放在rows,总数放在total里,total可以忽略....
就是这种{rows:[{"userId":1,"username":"张三","userGender":"男"}],total:1}
然后用$('#id').datagrid('loadData',json);去读取数据...
更多追问追答
追问
怎么把[{"userId":1,"username":"张三","userGender":"男"}]这部分放到rows里面,这部分里面的内容不是固定的,是后台从数据库查出来的,[{"userId":1,"username":"张三","userGender":"男"}]这个外面不是还套了一层吗?
追答
你在前台取得到这个json吧?你都能拿到json了,拿到"User":这个属性不难吧?
把这个属性的值放到新建的json的rows下面么
本来就展示查询的数据,肯定是不固定的么,只要整体数据能拿到就行...
展开全部
1、可以用JS来控制,js用专门解析json格式的函数。
用一个 变量 resultJson 来接收你传递过来的JSON
var resultJson = '<%=operator.getUser()%>'
resultJson.将是一个 JSON对象.
2、或者
var a = [{"crtTm":"2013-12-31 11:54:11.0","crtUser":5,"itemDate":"","itemId":2,"itemTm":"1","level":1,"pacId":1,"pacItemId":1,"updTm":"2013-12-31 11:54:11.0","updUser":5},{"crtTm":"2013-12-31 11:54:11.0","crtUser":5,"itemDate":"","itemId":13,"itemTm":"2","level":1,"pacId":1,"pacItemId":2,"updTm":"2013-12-31 11:54:11.0","updUser":5},{"crtTm":"2013-12-31 11:54:11.0","crtUser":5,"itemDate":"","itemId":4,"itemTm":"3","level":0,"pacId":1,"pacItemId":3,"updTm":"2013-12-31 11:54:11.0","updUser":5}]
var b = eval(a); //转换为对象
alert(b[0].crtTm); //获取第一条数据的crtTm值
alert(b[1].crtTm); //获取第二条数据的crtTm值
alert(b[2].crtTm); //获取第三条数据的crtTm值
用一个 变量 resultJson 来接收你传递过来的JSON
var resultJson = '<%=operator.getUser()%>'
resultJson.将是一个 JSON对象.
2、或者
var a = [{"crtTm":"2013-12-31 11:54:11.0","crtUser":5,"itemDate":"","itemId":2,"itemTm":"1","level":1,"pacId":1,"pacItemId":1,"updTm":"2013-12-31 11:54:11.0","updUser":5},{"crtTm":"2013-12-31 11:54:11.0","crtUser":5,"itemDate":"","itemId":13,"itemTm":"2","level":1,"pacId":1,"pacItemId":2,"updTm":"2013-12-31 11:54:11.0","updUser":5},{"crtTm":"2013-12-31 11:54:11.0","crtUser":5,"itemDate":"","itemId":4,"itemTm":"3","level":0,"pacId":1,"pacItemId":3,"updTm":"2013-12-31 11:54:11.0","updUser":5}]
var b = eval(a); //转换为对象
alert(b[0].crtTm); //获取第一条数据的crtTm值
alert(b[1].crtTm); //获取第二条数据的crtTm值
alert(b[2].crtTm); //获取第三条数据的crtTm值
追问
我得到的Json是有两层的,关键是我只要里面一层的数据
追答
采用对象导航啊,假设有个人类P,P里面又有个属性,女人属性women,她的类型是Women,而Women这个类有个属性name
我在页面上获取这个后台的P的women的name值用el表达式方法 ${p.women.name}
这是作为一个启示,你也可以在js里面用对象导航
b[0].crtTm[0].name这样
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询