JSP编程专题2之JSP核心二(EL表达式,EL运算符以及除了和四个域属性空间相关的EL内置对象)
2021-05-20 07:30
标签:el表达式 从指定域中获取数据 问bean的属性 获取数组和map以及list中的元素 el运算符 除了和四个域属性空间相关的el内置对象 1、EL表达式: - EL,Expression Language,表达式语言,是一种在JSP页面中获取数据的简单方式。EL表达式是从JSP2.0版本开始才引入的概念。 - EL表达式的基本语法形式很简单:在JSP页面的任何静态部分均可以通过${expression}的形式获取到指定表达式的值。 - 需要注意的是,EL只能从四大域中获取数据。其查找的顺序为:依次按照由小到大的范围从四大域中查找指定名称的属性值。(pageContext,request,session,applicaiton) 如: a、从指定域中获取数据: - 从pageContext依次查找到application域空间,会降低执行效率。若是某个属性确定存放在某个域属性空间中,则可以指定直接从该空间中查找。此时需要借助EL的四大与属性空间相关的内置对象: b、访问Bean的属性:(可以多次使用点号运算符) - EL可以通过${key.属性}的方式获取到指定对象属性值。其底层实际调用的是该对象的相应属性的get方法。 - 当然,也可以使用${key[‘属性‘]}或者是${key["属性"]}的方式获取,该方式不常用。 c、获取数组中的元素: - EL可以通过${key的[索引]}的方式获取到指定索引的元素。不过,需要注意的是,若数组中不存在该指定索引的元素,系统不会抛出数组越界异常。 d、获取List中的元素: - 与获取数组中的元素相同,通过${key[索引]}的方式可以获取List中的指定索引的元素。若List中不存在指定索引的元素,系统并不会抛出越界异常。(无法使用EL表达式访问Set,因为Set是无序的,没有索引的概念) e、获取Map中的元素:EL通过${attributeName.mapKey}的方式可以获取指定Map的指定key的值: 2、EL运算符: - EL表达式可以进行各种运算,其中常用的运算符有: - 除了上述运算符外,还有一个非常有用的运算符empty,其用法为${empty 变量},结果为布尔值。若变量为定义,则返回值为true;若变量为String类型,且其值为空串,则返回值为true;若变量为引用类型,且其值为null,则返回值为true;若变量为集合类型,且其不包含任何元素,则返回值为true。 3、除了和四个域属性空间相关的EL内置对象: - 就像JSP的Java代码块以及表达式块中可以使用九个内置对象一样,EL表达式中,同样也存在有内置对象,并且存在11个内置对象。常用的内置对象,除了前面使用过的四个域属性空间相关的内置对象之外,还有如下几个: a、pageContext: - 该pageContext与JSP内置对象中的pageContext是同一个对象。通过该对象,可以获取到request、response、session、servletContext、servletConfig等对象。注意,这些对象在EL中不是内置对象。这些对象只能够通过pageContext获取。 - 在EL中直接使用${pageContext.request}即可获取request对象。当然,其底层实际调用的是pageContext.getRequest()方法。同理,也可以通过类似方法获取到其他对象。 - 在这些获取的对象中,有一个是实际工程中最常用的:${pageContext.request.contextPath},用于获取当前项目发布到服务器中的名称,一般会用在JSP页面的路径前。 - 在EL的11个内置对象中,除了pageContext外,其他10个内置内置对象,其类型均为java.util.Map类型。 b、param: 在EL中通过${param.参数名}可获取请求中的指定参数值,其底层实际调用的是:request.getParameter(),例如,提交的请求为: - 在JSP页面中通过如下方式,可获取到name参数的值为abc: c、paramValues: - 若提交的请求中同一参数具有多个值,则可通过${paramValues.参数名[索引]}获取到指定索引号的该参数值。例如,提交的请求为: - 在JSP页面中通过如下方式,可获取请求中的指定参数值: d、如果想获取web.xml中 - 在JSP页面中通过如下方式获取: 本文出自 “12392717” 博客,请务必保留此出处http://12402717.blog.51cto.com/12392717/1975027 JSP编程专题2之JSP核心二(EL表达式,EL运算符以及除了和四个域属性空间相关的EL内置对象) 标签:el表达式 从指定域中获取数据 问bean的属性 获取数组和map以及list中的元素 el运算符 除了和四个域属性空间相关的el内置对象 原文地址:http://12402717.blog.51cto.com/12392717/1975027
文章标题:JSP编程专题2之JSP核心二(EL表达式,EL运算符以及除了和四个域属性空间相关的EL内置对象)
文章链接:http://soscw.com/index.php/essay/87877.html