当前位置: 首页 > news >正文

js中使用EL表达式总结

1.js中使用el表达式要加双引号或单引号:'${list}'


2.js变量获取el表达式中的对象:不能直接获取,直接获取得到的是该对象的toString值。


有两种方法:
一:el中直接写对象的属性var abc = '${list[0].index}';--------如用js数组变量装el表达式对象的每一个属性

二:先把对象转换成json再把json转换成对象赋值给js变量。

 

  • js控制中用到了el表达式,最开始源码如下:

  • varselected = ${requestScope.xxxxForm.recordNumPerPage}

这样始终js错误,因为在第一次的时候requestScope.xxxxForm.recordNumPerPage为null。

  • 于是在boss的指导下,简单的加了两个引号,代码变成

  • var selected = “${requestScope.xxxxForm.recordNumPerPage}”

功能自动实现。 

总之,在js中使用el表达式一定要使用双引号。

如果${sessionScope.userName}从服务器端获取到的值是张三,那么最终浏览器解释执行得到的就是如下这样的结果

var message = 张三;

这样肯定是不行的,javascript中字符串肯定是要用引号引起来的,像var message = "张三";或者是像var message = '张三';这样才对,所以这下知道为什么在javascript中使用el表达式一定要用引号引起来了吧,不管是单引号还是双引号,总之就是要用引号引起来。

像alert(${sessionScope.userName});这种写法浏览器最终解释执行得到的结果就是alert(张三);所以这样写肯定会有问题,只有alert("${sessionScope.userName}");这样写或者alert('${sessionScope.userName}');这样写才可以,浏览器最终解释执行得到的结果就是alert("张三");和alert('张三');

还有就是如果${sessionScope.age}从服务器取出的是一个数字呢?比如${sessionScope.age}从服务器取出的值是16,那么要不要加引号呢?

alert(${sessionScope.age});浏览器最终解释执行得到的结果就是alert(16);你们自己想想,javascript的语法中,数字要不要加引号呢?,在javascript中定义一个数字类型的变量像var age =16;这样写是没有任何问题的,然后alert(age);可以正常弹出16,没问题,如果我们像var age = "16" 或者像var age = '16'这样写呢?也没问题,只不过这里加了引号的16就是一个字符串了。所以不管EL表达式从服务器上取到的值是字符串的还是数字,最好都加上引号,这样做比较保险,也比较省事,不管是单引号还是双引号,总之加上引号肯定没问题。如果EL表达式从服务器上取到的值是数字,在javascript中给这个数字加上引号也没关系,如果客户端要用这个加了引号的数字做数学运算,我们可以利用javascript中的函数把这个加了引号的数字转换成数字类型再做运算! 比如var age = "${sessionScope.age}" ,浏览器解释执行后得到的结果是var age = "16";大不了我们在客户端利用javascript的转换函数,把age = "16"从字符串类型转换为数字类型再做数学运算即可!

VAR   [va:(r)]   详细 X
基本翻译
n. (Var)人名;(法、俄)瓦尔;(柬)瓦
abbr. 加值型经销商(value-added reseller);垂直机载火箭(Vertical Aircraft Rocket)
网络释义
var: 瓦尔省
var left: 方框左位置
var top: 方框上位置

 

转载于:https://www.cnblogs.com/zhaoyanhaoBlog/p/11298743.html

相关文章:

  • leetcode 309. Best Time to Buy and Sell Stock with Cooldown
  • 环境变量
  • 手机端和网页端使用同一后台时进行会话控制
  • SpringBoot起步
  • 获取当前python 解释器的路径=.=
  • $.proxy和$.extend
  • Java Web 开发必须掌握的三个技术:Token、Cookie、Session
  • springBoot测试
  • SpringBoot传参方式
  • Springboot项目自动加载设置
  • SpringBoot项目打包
  • Win10修改字体
  • c언어 database
  • Flex 特效组件
  • project bitnami redmine project manager 4.0.4-1
  • 自己简单写的 事件订阅机制
  • C++回声服务器_9-epoll边缘触发模式版本服务器
  • echarts花样作死的坑
  • js操作时间(持续更新)
  • js算法-归并排序(merge_sort)
  • js中的正则表达式入门
  • Linux快速复制或删除大量小文件
  • orm2 中文文档 3.1 模型属性
  • PermissionScope Swift4 兼容问题
  • Rancher如何对接Ceph-RBD块存储
  • Sublime text 3 3103 注册码
  • uni-app项目数字滚动
  • 动态魔术使用DBMS_SQL
  • 如何将自己的网站分享到QQ空间,微信,微博等等
  • 如何用Ubuntu和Xen来设置Kubernetes?
  • 使用 Node.js 的 nodemailer 模块发送邮件(支持 QQ、163 等、支持附件)
  • 微信支付JSAPI,实测!终极方案
  • 小而合理的前端理论:rscss和rsjs
  • 原生JS动态加载JS、CSS文件及代码脚本
  • [地铁译]使用SSD缓存应用数据——Moneta项目: 低成本优化的下一代EVCache ...
  • ​渐进式Web应用PWA的未来
  • (2)nginx 安装、启停
  • (4.10~4.16)
  • (Arcgis)Python编程批量将HDF5文件转换为TIFF格式并应用地理转换和投影信息
  • (C语言)输入一个序列,判断是否为奇偶交叉数
  • (LeetCode) T14. Longest Common Prefix
  • (超简单)构建高可用网络应用:使用Nginx进行负载均衡与健康检查
  • (待修改)PyG安装步骤
  • (读书笔记)Javascript高级程序设计---ECMAScript基础
  • (附源码)计算机毕业设计ssm-Java网名推荐系统
  • (附源码)计算机毕业设计ssm基于B_S的汽车售后服务管理系统
  • (一)Dubbo快速入门、介绍、使用
  • (原創) 如何安裝Linux版本的Quartus II? (SOC) (Quartus II) (Linux) (RedHat) (VirtualBox)
  • (原創) 是否该学PetShop将Model和BLL分开? (.NET) (N-Tier) (PetShop) (OO)
  • (转)shell中括号的特殊用法 linux if多条件判断
  • (转载)从 Java 代码到 Java 堆
  • ./configure,make,make install的作用
  • .axf 转化 .bin文件 的方法
  • .NET C#版本和.NET版本以及VS版本的对应关系
  • .net core 实现redis分片_基于 Redis 的分布式任务调度框架 earth-frost