JSON
来源:互联网 发布:js数组取最后一个 编辑:程序博客网 时间:2024/06/04 17:57
这里分析后台传user对象到页面,页面在js里面使用EL取值。
【1】后台返回user的json对象,页面直接取值
request.setAttribute("loginUser",JSON.toJSON(loginUser));//放入json对象var loginUser = ${loginUser};页面使用EL取值获取为json对象,即 typeof loginUser == object。-- 以下效果相同request.setAttribute("loginUser",JSON.toJSONString(loginUser));
【2】后台返回user的json对象,页面用双引号包括取值
request.setAttribute("loginUser",JSON.toJSON(loginUser));//放入json对象var loginUser = "${loginUser}";//注意,使用了双引号包括页面使用EL取值,出错!!!因为json内部使用的是双引号!!!Uncaught SyntaxError: Unexpected identifier
页面使用EL取值,出错!!!因为json内部使用的是双引号!!!
【3】后台返回user的json对象,页面用单引号包括取值
request.setAttribute("loginUser",JSON.toJSONString(loginUser));//放入json对象var loginUser = '${loginUser}';//注意,使用了单引号包括页面使用EL取值,获取的为json-string需要解析为json-object。if (typeof loginUser != 'object' && loginUser != '' ) { loginUser = eval("("+loginUser+")"); alert(loginUser.userCode+','+1);}else if(loginUser != null && loginUser!= ''){ alert(typeof loginUser +','+ loginUser.userCode+','+2);}
即使后台传参为null,页面也只是会拿到一个 ''
不会抛异常。
【4】后台返回null对象,页面直接取值
request.setAttribute("loginUser",null);//放入nullvar loginUser = ${loginUser};页面报错!!!
所以了,警惕属性值为空的情况,最好用第三种方式。
【5】后台返回user对象,页面直接取值
request.setAttribute("loginUser",loginUser);//放入user对象var loginUser = ${loginUser};页面报错!!!可能会提示Unexpected token :或Unexpected token ;但是可以在html中直接取值,如下:<input id="userCode" name="userCode" value="${loginUser.userCode}" type="text"/>
综上,如果需要在js中获取域对象属性值,推荐使用第三种方式!!!
即,后台返回jsonString,页面js用EL取值并用单引号包裹。如果是在html中使用,可直接返回user对象,页面直接用EL取值。
阅读全文
0 0
- Json
- JSON
- JSON
- JSON
- json
- JSON
- JSON
- json
- Json
- json
- JSON
- json
- json
- JSON
- json
- JSON
- JSON
- json
- RVM-----Mac OSX下 Ruby的版本控制工具
- [RK3288][Android6.0] Audio的frame/period_size/bps_rate
- 计算几何之大圆包含小圆问题
- Java笔试题解(9)
- java小算法—输入两个正整数m和n,求其最大公约数和最小公倍数
- JSON
- 线性回归分析及预测
- 三极管2690封装
- LinkedList存储一副扑克牌,然后实现洗牌功能--Java基础078
- linker command faied wih exit code 1类似的报错信息不全怎么看
- Java设计模式透析之 —— 单例(Singleton)
- NSOJ The 3n + 1 problem
- BZOJ1977: [BeiJing2010组队]次小生成树 Tree
- js的number的数据类型