首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在对其运行"indexOf“函数之前,如何检查EL变量的类型?

在对EL变量运行"indexOf"函数之前,可以通过以下方式检查EL变量的类型:

  1. 使用EL的内置函数:EL提供了一些内置函数用于检查变量的类型。可以使用"empty"函数来检查变量是否为空或null,使用"instanceof"函数来检查变量是否属于某个特定的类型。例如,可以使用${empty variable}来检查变量是否为空,${variable instanceof java.lang.String}来检查变量是否为字符串类型。
  2. 使用Java的反射机制:EL表达式可以访问Java对象的属性和方法。可以使用Java的反射机制来获取变量的类型信息。通过获取变量的Class对象,可以使用Class的方法来检查变量的类型。例如,可以使用${variable.getClass().getName()}来获取变量的类型名称。
  3. 使用EL的条件运算符:EL提供了条件运算符来判断变量的类型。可以使用三元运算符来检查变量的类型,并根据类型执行相应的操作。例如,可以使用${variable instanceof 'java.lang.String' ? variable.indexOf('substring') : -1}来检查变量是否为字符串类型,并执行相应的"indexOf"操作。

需要注意的是,EL是一种动态类型语言,它不会在编译时进行类型检查。因此,在使用EL表达式时,需要确保变量的类型与所期望的类型相符,以避免运行时错误。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

看完这几道 JavaScript 面试题,让你与考官对答如流(上)

如何在一行中计算多个表达式值? 18. 什么是提升? 19. 什么是作用域? 20. 什么是闭包? 21. JavaScript中虚值是什么? 22. 如何检查值是否虚值? 23....在基本类型中,JS 通过值对它们进行比较,而在对象中,JS 通过引用或存储变量内存中地址对它们进行比较。...执行——在这个阶段中,它将值赋给之前提升变量,并执行或调用函数(对象中方法)。...JavaScript 中作用域是我们可以有效访问变量函数区域。JS 有三种类型作用域:全局作用域、函数作用域和块作用域(ES6)。...如何检查值是否虚值? 使用 Boolean 函数或者 !! 运算符。 23. 'use strict' 是干嘛用

2K10

《javascript高级程序设计》核心知识总结

在向参数传递引用类型值时,会把这个值在内存中地址复制给一个局部变量,因此这个局部变量变化会反应在函数外部 ② 对象会在函数执行完毕后立即被销毁。...,严格相等 lastIndexOf() // 迭代方法,都接收两个参数,一个是要在每一项上运行函数,一个是作用域(可选) 1.every 对数组中每一项运行给定函数,如果函数对每一项都返回true,则返回...,[this]) 2.some 对数组中每一项运行给定函数,如果函数对任一项都返回true,则返回true 3.filter 对数组中每一项运行给定函数,返回该函数会返回true项组成数组 4.forEach...对数组每一项运行给定函数,无返回值 5.map 对数组每一项运行给定函数,返回每次函数调用返回结果组成数组 // 归并方法 reduce和reduceRight(和前者遍历方向相反),构建一个最终返回值...2.闭包会引用包含函数整个活动对象,而其中包含着html,因此有必要把设置为null function a(){ let el = $("#el"); let id = el.id;

2.3K20
  • 收藏吧 || ES6 方法,用来解决实际开发JS问题(一)

    hide(document.querySelectorAll('img')) 2、如何检查元素是否具有指定类 ?...c - c / 8); } } // 事例 scrollToTop() window.requestAnimationFrame() 告诉浏览器——你希望执行一个动画,并且要求浏览器在下次重绘之前调用指定回调函数更新动画...该方法需要传入一个回调函数作为参数,该回调函数会在浏览器下一次重绘之前执行。 requestAnimationFrame:优势:由系统决定回调函数执行时机。...60Hz刷新频率,那么每次刷新间隔中会执行一次回调函数,不会引起丢帧,不会卡顿。 6.如何检查父元素是否包含子元素 ?.../ true elementContains(document.querySelector('body'), document.querySelector('body')); // false 7.如何检查指定元素在视口中是否可见

    57100

    12个提高 JavaScript 技能概念!

    1.变量赋值 (值 vs 引用) 理解 JavaScript 如何变量赋值可以帮助我们减少一些不必要 bug。如果你不理解这一点,可能很容易地编写被无意中更改值代码。...如果你创建了一个无意中会改变对象函数,就会出现一些非预期行为。 2.闭包 闭包是一个重要JavaScript模式,可以私有访问变量。...; console.log(foundIndex); // 1 indexOf:与findIndex几乎完全相同,但它不是将函数作为参数,而是采用一个简单值。...当w你需要更简单逻辑并且不需要使用函数检查是否存在匹配时,可以使用此方法。...==运算符在比较值之前会进行类型转换,而===运算符在比较之前不会进行任何类型转换。

    67630

    比较实用jQuery代码段

    如何检测各种浏览器: (1)navigator.userAgent返回一个浏览器信息字符串。 (2)用到indexOf()方法,查找字符串中是否有指定浏览器类型。...如何使用多个属性来进行过滤 //在使用许多相类似的有着不同类型input元素时,这种基于精确度方法很有用 var elements = $('#someid input[type=sometype...如何替换串中词 var el = $('#id'); el.html(el.html().replace(/word/ig, '')); "abacacf".replace('a','9') //...第一个运行结果 9bacaf 这个只是替换了第一个 "abacacf".replace(/a/g,'9') //第二个运行结果 9b9c9f 这个能实现js全部替换功能 11....如何检查cookie是否启用 var dt = new Date(); dt.setSeconds(dt.getSeconds() + 60); document.cookie = "cookietest

    1.7K41

    重温一下 JS 进阶需要掌握 13 个概念

    本文介绍 JS 比较重要12个概念,但绝对不是说 JS开发人员只需要知道这些就可以了。 1.变量赋值 (值 vs 引用) 理解 JS 如何变量赋值可以帮助我们减少一些不必要 bug。...由于var1是基本类型(String),因此 var2 值等于 var1 字符中值,但 var1 和 var2 之间是独立变量,不会影响彼此。 因此,重新赋值var2对var1没有影响。...如果你创建了一个无意中会改变对象函数,就会出现一些非预期行为。 2.闭包 闭包是一个重要 JS 模式,可以私有访问变量。...当你需要更简单逻辑并且不需要使用函数检查是否存在匹配时,可以使用此方法。...== 运算符在比较值之前会进行类型转换,而 === 运算符在比较之前不会进行任何类型转换。

    64520

    社招前端必会面试题

    JavaScript 中如何进行隐式类型转换?首先要介绍ToPrimitive方法,这是 JavaScript 中每个值隐含自带方法,用来将值 (无论是基本类型值还是对象)转换为基本类型值。...如果值为基本类型,则直接返回值本身;如果值为对象,看起来大概是这样:/*** @obj 需要转换对象* @type 期望结果类型*/ToPrimitive(obj,type)type值为number...以下是基本类型值在不同操作符情况下隐式转换规则 (对于对象,会被ToPrimitive转换成基本类型,所以最终还是要应用基本类型转换规则):+操作符 +操作符两边有至少一个string类型变量时...,两边变量都会被隐式转换为字符串;其他情况下两边变量都会被转换为数字。...,在原本逻辑中插入了我们函数逻辑,实现了在对对象任何属性进行读写时发出通知。

    66520

    【TS】358- 浅析 TypeScript 设计模式

    可以看到三种类型模式正好解决了编程中数据结构从哪里来?如何组合?如何交流?问题。 创建型模式 创建型模式一共有4个,分别为工厂(工厂,工厂方法,抽象工厂合并),建造者,原型,单例。...但是,选择工厂模式原因是因为构造函数足够复杂或者对象创建面临巨大不确定性,只需要传入变量即可构造情况下,用工厂函数实际上是得不偿失。...,远远没有达到复杂对象程度,因此,只有在对象十分复杂时候,才需要应用到建造者模式。...=>el.indexOf('http')) const methods = commandArr.filter(el=>el[0]==='-') methods[0].replace('...-','') method = methods[0] const query = commandArr.filter(el=>el.indexOf('=')) if(query.length

    89840

    从Vue.js源码中我学到几个实用函数

    如果想看Vuejs源码,不知道如何下手,一般推荐配置Sourcemap,针对单个问题调试来看,如何调试Vuejs源码,我vuex源码文章中写了。...学习源码整体架构系列、年度总结、JS基础系列 ---- 话不多说,赶快试试尤大大教给我们这几个实用函数吧!在工作中肯定会用得到。 立即执行函数 页面加载完成后只执行一次设置函数。...(function (a, b) { console.log(a, b); // 1,2 })(1, 2); 通常,全局变量被作为一个参数传递给立即执行参数,这样它在函数内部不使用window也可以被访问到...prototype属性上方法对比 定义在构造函数内部方法,会在它每一个实例上都克隆这个方法;定义在构造函数 prototype 属性上方法会让它所有示例都共享这个方法,但是不会在每个实例内部重新定义这个方法...当然,在某些情况下,我们需要将某些方法定义在构造函数中,这种情况一般是因为我们需要访问构造函数内部私有变量

    2.5K40

    BAT及各大互联网公司2014前端笔试面试题--JavaScript篇

    基本数据类型:String,Boolean,Number,Undefined, Null 引用数据类型:Object(Array,Date,RegExp,Function) 那么问题来了,如何判断某变量是否为数组数据类型...声明变量但并未对赋值进行初始化时,这个变量值就是undefined。...原因:Javascript事件处理器在线程空闲之前不会运行。那么问题来了,如何让上述代码输出1 2 3?...考察点2:是否知道如何判断一个变量是什么类型 考察点3:递归算法设计 // 方法一: Object.prototype.clone = function() { var o = this.constructor...答案:在Javscript中,解析器在向执行环境中加载数据时,对函数声明和函数表达式并非是一视同仁,解析器会率先读取函数声明,并使其在执行任何代码之前可用(可以访问),至于函数表达式,则必须等到解析器执行到它所在代码行

    1.4K50

    70个JavaScript面试问题

    在基本类型中,JS 通过值对它们进行比较,而在对象中,JS 通过引用或存储变量内存中地址对它们进行比较。...执行——在这个阶段中,它将值赋给之前提升变量,并执行或调用函数(对象中方法)。...如何检查值是否虚值? 使用 Boolean 函数或者 !! 运算符。 23. 'use strict' 是干嘛用?...闭包只是函数记住当前作用域,父函数作用域和全局作用域变量引用能力。当我们在全局作用域内使用var关键字声明变量时,就创建全局变量i。...如何在不使用%模运算符情况下检查一个数字是否是偶数? 我们可以对这个问题使用按位&运算符,&对操作数进行运算,并将其视为二进制值,然后执行与运算。

    1.5K10

    Javascript快速入门(上篇)

    Javascript熟练之路,小弟来了。 JavaScript简介:JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型语言,内置支持类型。...:javascript中函数形式非常简单,主要注意相关变量作用域,当回调函数多了时,会涉及闭包等概念。...= function(newBreed) { this.breed = newBreed; } } Dog.prototype = new Pet(); 扩展 对于javascript来说,在构造函数内声明变量只能在对象内部使用...如果想从外部访问这些变量函数,需要在赋值时使用关键字this Tip: 可以使用如下方式判断一个javaScript函数是否存在, if(typeof document.getElementById...,最顶层对象为window对象,document为子对象。

    1.1K50

    前端-用 Vue 编写一个长按指令

    本文就是讲解如何在按下(或者按住)一个按钮时,既执行一个函数,又清除输入。 首先,我会讲解如何使用纯 JS 实现。而后也会创建一个 Vue 指令。 请系好安全带。好戏在后头呢。...如何实现 当用户点击按钮时,在点击事件之前会触发另外两个事件: mousedown 和 mouseup。 当用户按下按钮时触发 mousedown 事件,用户松开按钮时调用 mouseup 事件。...let pressTimer = null; 我们把变量值设置为 null 是为了在执行取消操作前,检查这个变量值判断当前是否有一个正在运行计时器。...== 0) { return; } // 在启动一个定时器之前确保没有正在运行计时器 if (pressTimer === null) { pressTimer = setTimeout...在使用 clearTimeout 之前,需要检查 pressTimer 变量是否为 null。如果没有为 null,意味着有一个正在运行计时器。

    2.3K40

    75个JavaScript面试题集锦,内含解答,自测 JS 掌握程度

    以及如何检查值是否为 NaN? 57. 如何判断值是否为数组? 58. 如何在不使用`%`模运算符情况下检查一个数字是否是偶数? 59. 如何检查对象中是否存在某个属性? 60....在基本类型中,JS 通过值对它们进行比较,而在对象中,JS 通过引用或存储变量内存中地址对它们进行比较。...执行——在这个阶段中,它将值赋给之前提升变量,并执行或调用函数(对象中方法)。...闭包只是函数记住当前作用域,父函数作用域和全局作用域变量引用能力。当我们在全局作用域内使用var关键字声明变量时,就创建全局变量i。...如何在不使用`%`模运算符情况下检查一个数字是否是偶数? 我们可以对这个问题使用按位&运算符,&对操作数进行运算,并将其视为二进制值,然后执行与运算。

    13.2K94
    领券