- 1、本文档共55页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
javaweb编程课件第八章
Java Web 编程技术;第8章 使用表达式语言;8.1 理解表达式语言;在JSP 2.0的页面中,我们使用下面形式的元素调用表达式语言:
${expression}
EL可以出现在JSP页面的模板文本中,也可以出现在JSP标签的属性中。
下面是在JSP模板文本中使用表达式:
ul
li客户名:${customer.custName}
liEmail地址:${customer.email}
/ul
;下面是在JSP标准动作的属性中使用EL表达式:
jsp:include page = ${expression1} /
c:out value = ${expression2} /;(1)提供了一组简单的运算符。表达式语言提供了一组简单有效的运算符,通过这些运算符可以完成算术、关系、逻辑、条件或空值检查运算。
(2)对作用域变量的方便访问。作用域变量是使用setAttribute()方法存储在PageContext、HttpServletRequest、HttpSession或ServletContext作用域中的对象,可以简单地使用下面的形式访问:
${userName};(3)对JavaBeans对象访问的简单表示。在JSP页面中要访问一个JavaBean对象customer的custName属性,需要下面的语法:
jsp:getProperty name=customer property=custName
而使用EL表达式,可以表示为:
${customer.custName}
(4)对集合元素的简单访问。集合包括数组、List对象、Map对象等,对这些对象的元素的访问可以使用下面的简单形式:
${variable[indexOrKey]}
;(5)对请求参数、Cookie和其他请求数据的简单访问。如要访问Accept请求头,可以使用header隐含变量,如下所示:
${header.Accept}或${header[Accept]}
(6)提供了在EL中使用Java函数的功能。EL中不能定义和使用变量,也不能调用对象的方法,但可以通过标签的形式使用Java语言定义的函数。;JSP表达式的使用格式为:
%=expression %
这里的expression为合法的Java表达式,它属于脚本语言的代码。在expression中可以使用由脚本声明的变量。
EL表达式的格式为:
${expression}
这里的expression是符合EL规范的表达式,并且不需要包含在标签内的。在EL表达式不能使用脚本中声明的变量。 ;使用传统的脚本语言,很容易在JSP中声明变量,使用的标签为%!和%,例如:
%! int count = 100; %
这里声明了一个整型变量,接下来使用下面的JSP表达式语句,这将输出变量count的值为100:
The count value is :%= count %
而如果使用下面的语句,将返回一个空值,即用EL的empty运算符测试结果为true。
The count value is: ${count}
在EL中不能定义变量,也不能使用脚本中声明的变量,但它可以访问请求参数、作用域变量、JavaBeans以及EL隐含变量等。;8.2.1 EL算术运算符
8.2.2 EL关系与逻辑运算符
8.2.3 条件运算符
8.2.4 empty运算符
8.2.5 属性与集合元素访问运算符
;
;在EL表达式中还可以使用“e”在浮点数中表示幂运算,例如:
${1.5e6/1000000} 的结果为 1.5;
${1e6 * 1} 的结果为 1000000.0。
这些操作在执行时调用类中的方法,但是要注意操作结果的数据类型。例如,定点数和浮点数的运算结果总是浮点数值。类似地,低精度的值与高精度的值进行运算,如一个Integer的值与一个BigInteger的值相加,总是得到一个高精度的值。
;与数值一样,String对象上也可以使用算术运算符,只要String对象能够转换为数值即可,例如:
${16 * 4} 的结果为 64,字符串被转换成整数16;
${a div 4} 的结果为 0.0,a没有定义,它的默认值为0;
${a div 4} 将产生编译错误,字符串“a”不能和数值运算。
;8.2.1 EL算术运算符
8.2.2 EL关系与逻辑运算符
8.2.3 条件运算符
8.2.4 empty运算符
8.2.5 属性与集合元素访问运算符
;8.2.2 EL关系与逻辑运算符;8.2.2 EL关系与逻辑运算符;EL的条件运算符的语法是:
expression ? expression1 : expression2
表达式的值是基于expres
文档评论(0)