EL 表达式小结
以前看示例代码的时候,经常看到jsp文件中出现诸如 ${...}一类的代码,一直困惑,今天看到了这一节的内容,也算有了个系统的学习,书上讲的很明白,也很简洁。
1.EL表达式的语法格式很简单:
以前编写jsp代码时,如果要获取表单中的用户名,一般使用 <%=request.getParameter("name")%> ,这样当然也可以获取到值,但是又把html代码和java代码混到一起,看起来比较乱套。现在使用EL表达式的话就比较简洁了:${param.name} 就可以解决了。
注意:${表达式} 表达式部分不需要加引号,如果写成 ${"param.name"} ,那么页面上显示出来的就不是表单中name的值了,而是 "param.name" 这个字符串。表达式与开始符和终结符之间的空格被忽略不计。如果表达式的值为null,那么页面将显示一个空格而不是null。
2.EL的两个运算符 "." 和 "[]"
${param.name} 和 ${param["name"]} 是等价的,但是当要存取的属性名称中包含有一些特殊字符如 "." 或 "-" 等非字母或数字的符号 或者 在使用动态取值时,就一定要使用 "[]" 运算符。
3.EL表达式的取值范围
pageScope、requestScope、sessionScope、applicationScope
如果没有给定参数名的取值范围,系统默认从page范围中查找,找不到则找request,一次类推,都找不到时传回null。
例如,存入一个session范围的值:<% session.setAttribute("u", "hello,EL") %>
那么,传统方式取值:<% session.getAttribute("u") %>。使用EL表达式取值:${sessionScope.u} 或者 ${u}
4.EL表达式可以自动转换类型
传统代码:
1 <% 2 String age = request.getParameter("age"); 3 int agei = Integer.parseInt(age); 4 out.println(age+10); 5 %>
使用EL表达式:
1 ${user.age+10}
5.EL表达式的内置对象
(1)与范围有关的内置对象
pageScope、requestScope、sessionScope、applicationScope
(2)与输入有关的内置对象
param 和 paramValues 用来获取表单中提交的信息。前者返回 String 类型数据,后者返回 String[] 类型的数据。如 ${paramValues.name}。
(3)其他隐含对象
Cookie
header 如:${header["UserAgent"]} 获取浏览器的版本信息
headerValues
initParam 如:${initParam.DBDriver} 获取web.xml中配置的相关参数
pageContext 如:${pageContext.request.remoteAddr} 获取用户的IP地址
6.特别注意:
通过获得的参数进行比较判断时,要这样比较:${param.name1 == param.name2}
empty 运算符用于判断值是否为 null 或 空 。 ${empty null} ${empty ""}
转自http://www.cnblogs.com/lihuiyy/archive/2012/02/15/2352643.html
相关推荐
8.1 理解表达式语言 8.2 使用EL运算符 8.3 使用EL访问数据 8.4 在EL中使用函数 8.5 在JSP页面中禁用EL 8.6 小 结
第8章?使用表达式语言(EL) 165 ?视频讲解:72分钟8.1 EL概述 165...182 8.7.1 应用EL访问JavaBean属性 182 8.7.2 应用EL表达式显示投票结果 183 8.7.3 应用EL显示用户的登录状态 184 8.8 小结 184 8.9 习题 185
### 小结 通过上述介绍,我们可以了解到EL 和 JSTL 在JSP页面开发中的重要作用。EL 使得开发者能够更加简洁地访问各种作用域内的对象,而 JSTL 标签库则提供了一系列功能强大的标签,大大提高了页面开发的效率和可...
八、小结 本手册涵盖了JavaEE的基础知识、JSP、Servlet、EL表达式、Struts2框架等方面的内容,旨在帮助开发者快速掌握JavaEE的开发技术。JavaEE提供了一系列的API和工具来开发、部署和管理企业级应用程序,是企业级...
**JasperReport应用小结** JasperReport是一款强大的开源报表工具,主要应用于Java环境中,用于生成各种复杂的报表,包括PDF、HTML、Excel等多种格式。它以其丰富的设计功能、灵活的数据处理以及良好的社区支持,...
### Oracle初级应用小结 #### 一、Oracle基础概念与操作 **1. 创建表空间** 在Oracle数据库中,表空间是数据文件的容器。所有数据文件都属于一个表空间,而一个表空间可以由多个数据文件组成。为了管理数据库中的...
183 8.1.2 值和方法表达式 184 8.1.3 隐式对象 187 8.1.4 运算符和保留字 188 8.1.5 一些经典EL表达式的例子 190 8.2 例程:用脚本去控制一个流程的运行 192 8.3 小结 194 第二篇 定制属于自己的流程——深入jBPM4...
- 通过直接修改`style`属性来操作CSS,如`el.style.display = 'none';`。但在复杂的样式操作中,推荐使用CSS类来管理状态,以提高代码可维护性。 9. **其他编码模式**: - 使用模板字符串(``` ` ```): 当处理字符...
项目22将展示如何利用EL表达式替换Java代码,提高代码的可读性和维护性。 **小结与习题** 课程结束时,会有对所学内容的总结,以及相关的练习题,帮助巩固和加深理解。 从Java Servlet的历史来看,它从1997年的...
- 支持EL表达式语言。 #### 六、后续学习方向 - **JavaServer Faces (JSF)**: 一种用于构建企业级Java Web应用程序的标准组件框架。 - **Java Web Services**: 使用Java技术构建Web服务的应用程序接口(API),支持...
149 9.4 JSF的组成 152 9.4.1 UI组件 152 9.4.2 JSF标签 154 9.5 统一EL 156 9.5.1 表达式和函数 156 9.5.2 操作符 157 9.5.3 保留字 158 9.5.4 内置对象 158 9.6 Backing Bean 158 9.7 创建自定义组件 162 9.8 小结 ...
JSTL的核心组成部分包括两个部分:标签库和EL(Expression Language)表达式语言。EL是一种轻量级的脚本语言,用于在JSP页面中便捷地访问和操作JavaBean或其他数据源中的数据。 JSTL的四个主要标签库是: 1. Core...
1.5 课时小结 7 1.6 专家答疑 7 第2学时 Windows网络 8 2.1 NetBIOS 概述 8 2.1.1 名称服务 8 2.1.2 会话服务 13 2.1.3 数据报服务 13 2.2 CIFS概述 13 2.2.1 NBT上的SMB 14 2.2.2 面向连接 14 2.2.3 协议概述 15 ...
【JSP开发程序教程2】 本教程主要针对JavaServer Pages(JSP)的基础知识展开,旨在帮助...随着深入学习,你将能进一步理解和应用JSP的动态特性,如JavaBean、EL表达式、JSTL标签库等,从而构建复杂的Web应用程序。
1.11 小结 36 第2章 xml名称空间 38 2.1 声明名称空间 38 2.2 名称空间在元素和属性中的运用 39 2.2.1 名称空间在元素中的运用 39 2.2.2 默认名称空间 41 2.2.3 名称空间在属性中的运用 42 2.3 名称空间和dtd...
1.11 小结 36 第2章 xml名称空间 38 2.1 声明名称空间 38 2.2 名称空间在元素和属性中的运用 39 2.2.1 名称空间在元素中的运用 39 2.2.2 默认名称空间 41 2.2.3 名称空间在属性中的运用 42 2.3 名称空间和dtd...
1.11 小结 36 第2章 xml名称空间 38 2.1 声明名称空间 38 2.2 名称空间在元素和属性中的运用 39 2.2.1 名称空间在元素中的运用 39 2.2.2 默认名称空间 41 2.2.3 名称空间在属性中的运用 42 2.3 名称空间和dtd...
1.11 小结 36 第2章 xml名称空间 38 2.1 声明名称空间 38 2.2 名称空间在元素和属性中的运用 39 2.2.1 名称空间在元素中的运用 39 2.2.2 默认名称空间 41 2.2.3 名称空间在属性中的运用 42 2.3 名称空间和dtd...
这个过程可能需要使用正则表达式来匹配数字并分割字符串。 分拆后的数组需要进行降序排序。在Java中,我们可以利用`Arrays.sort()`方法,但因为默认的排序是升序,所以我们需要自定义一个比较器(Comparator)来...