当前位置: 首页 > 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
  • ES6指北【2】—— 箭头函数
  • [微信小程序] 使用ES6特性Class后出现编译异常
  • 【React系列】如何构建React应用程序
  • 2017 前端面试准备 - 收藏集 - 掘金
  •  D - 粉碎叛乱F - 其他起义
  • express + mock 让前后台并行开发
  • javascript面向对象之创建对象
  • Linux快速复制或删除大量小文件
  • MySQL的数据类型
  • Node 版本管理
  • react-native 安卓真机环境搭建
  • Redis在Web项目中的应用与实践
  • vue:响应原理
  • 基于遗传算法的优化问题求解
  • 精益 React 学习指南 (Lean React)- 1.5 React 与 DOM
  • 警报:线上事故之CountDownLatch的威力
  • 快速体验 Sentinel 集群限流功能,只需简单几步
  • 我感觉这是史上最牛的防sql注入方法类
  • 因为阿里,他们成了“杭漂”
  • 阿里云服务器购买完整流程
  • 阿里云服务器如何修改远程端口?
  • 如何在招聘中考核.NET架构师
  • ​​快速排序(四)——挖坑法,前后指针法与非递归
  • #Linux杂记--将Python3的源码编译为.so文件方法与Linux环境下的交叉编译方法
  • #微信小程序:微信小程序常见的配置传旨
  • #我与Java虚拟机的故事#连载13:有这本书就够了
  • (2022版)一套教程搞定k8s安装到实战 | RBAC
  • (floyd+补集) poj 3275
  • (html5)在移动端input输入搜索项后 输入法下面为什么不想百度那样出现前往? 而我的出现的是换行...
  • (安全基本功)磁盘MBR,分区表,活动分区,引导扇区。。。详解与区别
  • (原創) 人會胖會瘦,都是自我要求的結果 (日記)
  • (转)LINQ之路
  • (转)人的集合论——移山之道
  • .naturalWidth 和naturalHeight属性,
  • .NET delegate 委托 、 Event 事件,接口回调
  • .NET(C#) Internals: as a developer, .net framework in my eyes
  • .net打印*三角形
  • .vimrc php,修改home目录下的.vimrc文件,vim配置php高亮显示
  • @Bean有哪些属性
  • @Import注解详解