javaweb编程课件第8章.ppt
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8.2
8.2.1 8.2.2 8.2.3 8.2.4 8.2.5
使用EL运算符
EL算术运算符 EL关系与逻辑运算符 条件运算符 empty运算符 属性与集合元素访问运算符
8.2.2
== 或 eq != 或ne
EL关系与逻辑运算符
说明 相等 不相等 示 例 ${3==5}或${3 eq 5} ${3!=5}或${3 ne 5} 结果 false true
8.1.3 表达式语言与JSP表达式的区别
JSP表达式的使用格式为: <%=expression %> 这里的expression为合法的Java表达式,它属于脚本语 言的代码。在expression中可以使用由脚本声明的变 量。 EL表达式的格式为: ${expression} 这里的expression是符合EL规范的表达式,并且不需要 包含在标签内的。在EL表达式不能使用脚本中声明的 变量。
Java Web 编程技术
第8章 使用表达式语言
本章主要内容:
8.1 8.2 8.3 8.4 8.5 8.6 理解表达式语言 使用EL运算符 使用EL访问数据 在EL中使用函数 在JSP页面中禁用EL 小 结
8.1 理解表达式语言
8.1.1 8.1.2 8.1.3 表达式语言的调用 表达式语言的功能 表达式语言与JSP表达式的区别
下面是在JSP标准动作的属性中使用EL表达式: <jsp:include page = "${expression1}" /> <c:out value = "${expression2} " />
8.1.2 表达式语言的功能
(1)提供了一组简单的运算符。表达式语言提供了一组简 单有效的运算符,通过这些运算符可以完成算术、关系、 逻辑、条件或空值检查运算。 (2)对作用域变量的方便访问。作用域变量是使用 setAttribute()方法存储在PageContext、 HttpServletRequest、HttpSession或ServletContext作 用域中的对象,可以简单地使用下面的形式访问: ${userName}
(5)对请求参数、Cookie和其他请求数据的简单访问。 如要访问Accept请求头,可以使用header隐含变量,如 下所示: ${header.Accept}或${header["Accept"]} (6)提供了在EL中使用Java函数的功能。EL中不能定义 和使用变量,也不能调用对象的方法,但可以通过标签 的形式使用Java语言定义的函数。
与数值一样,String对象上也可以使用算术运算符,只要 String对象能够转换为数值即可,例如: ${"16" * 4} 的结果为 64,字符串被转换成整数16; ${a div 4} 的结果为 0.0,a没有定义,它的默认值为0; ${"a" div 4} 将产生编译错误,字符串“a”不能和数值运算。
8.2
8.2.1 8.2.2 8.2.3 8.2.4 8.2.5
使用EL运算符
EL算术运算符 EL关系与逻辑运算符 条件运算符 empty运算符 属性与集合元素访问运算符
8.2.1
EL算术运算符
说明 示 例 结果
算术运算符
+
* /或div %或mod加 Nhomakorabea减 乘 除 取余
${6.80 + -12}
${15-5} ${2 * 3.14159} ${25 div 5} 与 ${25/5} ${24 mod 5} 与 ${24 % 5}
-5.2
10 6.28318 5.0 4
在EL表达式中还可以使用“e”在浮点数中表示幂运算,例如: ${1.5e6/1000000} 的结果为 1.5; ${1e6 * 1} 的结果为 1000000.0。 这些操作在执行时调用类中的方法,但是要注意操作结果的数 据类型。例如,定点数和浮点数的运算结果总是浮点数值。类 似地,低精度的值与高精度的值进行运算,如一个Integer的值 与一个BigInteger的值相加,总是得到一个高精度的值。
(3)对JavaBeans对象访问的简单表示。在JSP页面中要 访问一个JavaBean对象customer的custName属性,需要 下面的语法: <jsp:getProperty name="customer" property="custName"> 而使用EL表达式,可以表示为: ${customer.custName} (4)对集合元素的简单访问。集合包括数组、List对象、 Map对象等,对这些对象的元素的访问可以使用下面的 简单形式: ${variable[indexOrKey]}
关系运算符
< 或lt
> 或gt <= 或le >= 或ge
小于
大于
${3<5}或${3 lt 5}
${3>5}或${3 gt 5}
true
false true false
小 于 等 ${3<=5}或${3 le 5} 于 大 于 等 ${3>=5}或${3 ge 5} 于
使用传统的脚本语言,很容易在JSP中声明变量,使用 的标签为<%!和%>,例如: <%! int count = 100; %> 这里声明了一个整型变量,接下来使用下面的JSP表达 式语句,这将输出变量count的值为100: The count value is :<%= count %> 而如果使用下面的语句,将返回一个空值,即用EL的 empty运算符测试结果为true。 The count value is: ${count} 在EL中不能定义变量,也不能使用脚本中声明的变量, 但它可以访问请求参数、作用域变量、JavaBeans以 及EL隐含变量等。
8.1.1 表达式语言的调用
在JSP 2.0的页面中,我们使用下面形式的元素调用表 达式语言:
${expression}
EL可以出现在JSP页面的模板文本中,也可以出现在 JSP标签的属性中。 下面是在JSP模板文本中使用表达式:
<ul> <li>客户名:${customer.custName} <li>Email地址:${customer.email} </ul>