EL表达式 ゝ一纸荒年。 2022-09-29 04:08 117阅读 0赞 以下的内容有些参考书上的,有些参考网页的资料。 EL表达式的英文是Exression Language,它是JSP2.0中引入的一个新的内容,通过EL表达式,我们可以简化在JSP开发中对对象的引用,从而规范页面的代码,增加程序的可读性及维护性。 ## 1.EL的基本语法 ## 它是以"$\{"开头,以"\}"结束的,中间是合法的表达式。 $\{expression\},其中expression是用于指出要输出的内容,可以是字符串,也可以是由EL运算符组成的表达式。而且我们如果要输出一个字符串的话,我们应该把字符串放在一对单引号或者双引号内。 那我们可以怎样地访问数据了,EL还提供了\[\]和.两种形式的让我们去访问数据。 其实一般上这两种形式都是等价的,但是如果对象的属性名中包括了一些特殊的符号(-或者.)时,我们就只能使用"\[\]"来访问对象的属性了,而且"\[\]"还可以用来获取数据或者List集合中的数据。因为"\[\]"可以指定元素,但是"."不可以指定元素的。 例如我们来看看一个例子: 通过EL输出数组的全部元素。 假设我们自定义一个数组: <%String\[\] arr=\{"java web","java","JSP"\}; request.setAttribute("arr",arr); %> <% String\[\] arr=(String\[\])request.getAttribute("arr"); for(int i=0;i<arr.length;i++\} \{ request.setAttribute("i",i); %> $\{requestScope.i\}:$\{requestScope.arr\[i\]\} <% \} %> \*\*还有另一个集合的例子: 向session域中保存一个包含3个元素的List对象,并应用能够EL输出该集合的全部元素代码。 <% List<String> list=new ArrayList<String>(); list.add("java"); list.add("java web"); list.add("JSP"); session.setAttribute("list",list); %> <% List<String> list=(List<String>)session.getAttribute("list"); for(int i=0;i<list.length;i++)\{ request.setAttribute("i",i); %> $\{requestScope.i\}:$\{sessionScope\[i\]\} <% \} %> 由以上的代码可以知道,当我们要运用到一个数组或者一个集合,我们首先要创建一个数组或者一个集合,然后把数据添加到集合里面去,把集合保存在特定的范围里。然后再把集合或者数组中的数据拿出来,通过循环把他们显示出来。 我们应该都知道,数组的索引是从0开始的,所以我们要获取第一个元素的话,我们应该需要的索引值为0. ## 2.禁用EL ## 有些时候,一些比较低版本的浏览器会不支持EL的,此时就需要我们去禁用EL表达式。不过一般来说,都不太需要去禁用的。下面就介绍禁用EL的方法。 a. 使用斜杠"\\"符号去禁用EL,有些时候,我们会不想启用EL,或者有些时候我们想输出$\{这个符号的话,我们就可以在$\{前面添加"\\"这个符号,这样子就可以达到禁用页面中的某个EL表达式了。 \\$\{name\},这样子EL表达式就会直接显示在页面上,而不会输出name的值。 b. 使用page指令 <%@page isELIgnored="布尔值"%>,如果布尔值为true,那就说明了该整个页面都禁用EL表达式。 c. 在web.xml文件中配置<el-ignored>元素 如果我们想禁用服务器中的EL,我们就需要在web.xml文件中实现,其中具体代码: <jsp-config> <jsp-property-group> <url-pattern>*.jsp</url-pattern> <el-ignored>true</el-ignored> </jsp-property-group> </jsp-config> 这里值得注意的是,我们再给这些变量名取名字的时候,应该尽量避免使用关键字的。其中EL的关键字有: and eq gt instanceof div or le false empty not It ge 如果我们使用了这些关键字的话,就会出现错误的。 ## 3.EL的特点 ## 首先EL除了语法简单,使用方便的特点外,其实还有其他的特点: a. EL会自动地进行类型的转换,如果想通过EL输入两个字符串型数值的和,那可以直接通过"+"来进行求和,"+"号是没有连接字符串的意思,只有加法求和的作用,但是如果两个是不能转换为数值型的字符串,就会抛出异常。 b. EL不仅可以访问一般的变量,还可以访问Javabean中的属性以及嵌套属性和集合对象。 c. 在EL中可以执行算术运算,逻辑运算,关系运算和条件运算等操作。 d. 在EL中可以获得命名空间(PageContext)对象,它是页面中所有其他内置对象的最大范围的集成对象,通过它可以访问其他的内置对象。 e. 在使用EL进行出发运算的时候,如果0作为的是除数,那么就会返回无穷大Infinity,而不返回错误。 f. 扩展函数可以与java类的静态方法进行映射。 g. 在EL中可以访问JSP的作用域(request,session,application以及page) ## 4.变量 ## EL存取变量数据的方法很简单的,例如$\{name\}这样子表示取出某一范围中名称为name的变量。 因为我们并没有指定是哪一个范围的name,所以它一般会按顺序(Page,Request,Session,Application)来寻找该变量的,如果在其中找到了该变量,那么就不会继续往下找的,但是加入全部范围里都没有找到该变量的时候,就回传null。 ## 5.在EL中判断对象是否为空 ## 我们可以通过empty运算符来实现的,这个运算符是一个前缀的运算符,位于操作数的前方的,用来确定一个对象或者一个变量是否为空或者null的。 例如: <%request.setAttribue("user1",""); request.setAttribute("user2",null);%> $(empty user1\} //返回值为true $\{empty user2\} //返回值为true 其实,当一个对象是null或者是"",他们所表达的含义是不同的,null表示的是这个变量没有指明任何对象,而空表示的是这个变量的内容为空。
相关 EL表达式 以下的内容有些参考书上的,有些参考网页的资料。 EL表达式的英文是Exression Language,它是JSP2.0中引入的一个新的内容,通过EL表达式,我们可以简化在J ゝ一纸荒年。/ 2022年09月29日 04:08/ 0 赞/ 118 阅读
相关 EL表达式 这节我们总结一下EL表达式相关内容。 1. EL表达式主要作用 EL表达式说白了,就是让JSP写起来更加方便,它属于JSP技术。那么它主要都有哪些方面的 ╰半橙微兮°/ 2022年09月21日 08:20/ 0 赞/ 159 阅读
相关 EL表达式 el表达式和jstl标签对于学习java的同学一定经常遇到,跟着我的脚步,去了解其用法吧 该博客转载[http://book.51cto.com/art/200907/136 分手后的思念是犯贱/ 2022年08月10日 09:26/ 0 赞/ 115 阅读
相关 EL表达式 1、什么是EL EL(Expression Language) 目的:为了使JSP写起来更加简单。表达式语言的灵感来自于ECMAScript 和 XPath 表达式 朴灿烈づ我的快乐病毒、/ 2022年04月23日 09:06/ 0 赞/ 111 阅读
相关 EL表达式 EL表达式取值 <%@page import="java.util.Map"%> <%@page import="java.util.HashMap"%> 不念不忘少年蓝@/ 2022年03月29日 04:28/ 0 赞/ 168 阅读
相关 EL表达式 目录 一、EL表达式简介 二、基本语法 三、JSP对EL表达式的支持 四、运算 五、获取值 5.1 获取域中存储的值 ﹏ヽ暗。殇╰゛Y/ 2022年03月02日 15:07/ 0 赞/ 189 阅读
相关 EL 表达式 EL 表达式 1 . 语法结构: $\{expression \} 2. \[ \] 与 . 运算符: EL 提供.和\[\]两种运算 逃离我推掉我的手/ 2022年01月10日 07:25/ 0 赞/ 254 阅读
相关 EL表达式 [点击去原文][Link 1] EL表达式总是用大括号括起,而且前面有一个美元符( ) 前 缀 : )前缀: )前缀:\{expression\}。 表示式中第一 Myth丶恋晨/ 2021年12月11日 02:33/ 0 赞/ 285 阅读
相关 EL表达式 EL表达式(只能用在jsp当中写) Expression Language 表达式语言,替代JSP页面中数据访问时的复杂编码,可以非常便捷地取出域对象(pageConte 骑猪看日落/ 2021年09月01日 07:16/ 0 赞/ 388 阅读
相关 EL表达式 1. EL脚本语言的配置和支持: 对于一个单个JSP页面,你可以使用定义page指令来设置jsp页面是否支持EL。默认是支持EL(如果要页面不支持EL,请设置为 末蓝、/ 2021年07月21日 02:07/ 0 赞/ 461 阅读
还没有评论,来说两句吧...