表达式语言 (Expression Language) 是一种简化的数据访问方式。使用表达式语言可以以标记格式方便地访问JSP 的隐含对象和JavaBeans 组件,在 JSP2.0 中,建议尽量使用表达式语言使JSP 文件的格式一致,避免使用Java脚本。
表达式语言可用于简化JSP页面的开发,允许美i设计人员使用表达式语言的语法获取业务逻辑传过来的变量值。
注意:表达式语言是JSP 的一个重要特性,它并不是一种通用的程序语言,而仅仅是一种数据访问语言,可以方便地访问应用程序数据,避免使用Java脚本。
表达式语言的语法格式是:
1. 表达式语言使用算术和逻辑运算符
表达式语言支持的算术运算符非常多,在Java语言里支持的算术运算符,表达式语言都可以使用。
看下面的JSP页面
〈 contentType="text/html;charset=gb2312"%〉
表达式语言算术运算符
表达式语言-算术运算符
表达式语言 |
计算结果 |
\${ (1==2) ? 3 : 4} |
${ (1==2) ? 3 : 4} |
该页面运行了基本表达式运算符号,运行的效果如图2.34所示。
|
图 2.34 算数运算的表达式语言 |
注意:如需要在支持表达式语言的页面中正常输出"$"符号,则在"$"符号前加特义字符 "γ',否则系统以为"$"是表达式语言的标记。
下面是逻辑运算符的JSP页面代码:
〈 contentType="text/html;charset=gb2312"%〉
表达式语言-逻辑运算符
表达式语言-逻辑运算符
数字之间的比较:
表达式语言 |
计算结果 |
<1--直接比较两个数字一〉
\${1 < 2} | ${l < 2} |
\${100.0 eq 100} |
${100.0 eq 100} |
\${ (10*10) != 100} | ${ (10*10) != 100} |
\${(10*10) 且e100} |
${(10*10) ne 100} |
字符之间的比较:
表达式语言 |
计算结果 |
\${'a' < 'b'} |
${'a' < 'b'} |
\${'hip' > 'hit'} |
${'hip'> 'hit'} |
\${'4' > 3} | ${'4' > 3}
|
| 因此,表达式语言不仅可在数字与数字之间比较,还可在字符与字符之间比较,字符串的比较是根据其编码的数字来比较大小的。
2. 表达式语言的内置对象
使用表达式语言可以直接获取请求参数,可获取页面中某个JavaBean的属性值,获取请求头及获取session属性值等,这些都得益于表达式语言的内置对象。
表达式语言包含如下11 个内置对象。
pageContext:代表该页面的 pageContext对象,与 JSP 的 pageContext 内置对象相同。
pageScope: 用于获取 page 范围的属性值。
requestScope: 用于获取 request 范围的属性值。
sessionScope: 用于获取 session 范围的属性值。
applicationScope: 用于获取 application 范围的属性值。
p缸am: 用于获取请求的参数值。
paramValues: 用于获取请求的参数值,与param 的区别在于,该对象用于获取属性值为数组的属性值。
header: 用于获取请求头的属性值。
headerValues: 用于获取请求头的属性值,与 header 的区别在于,该对象用于获 取属性值为数组的属性值。
initParam: 用于获取请求 Web 应用的初始化参数。
cookie: 用于获取应用的 Cookie 值。
看下面的 JSP 页面代码:
注意:函数处理类的方法必须是publicstatic,因为这些方法是直接调用,无须实例化。自定义函数,也提供了类似于自定义标签库的作用,使用简单的指令就可以完成复杂的功能。与自定义标签库不同的是,可以在表达式语言中直接使用函数。
阅读(2382) | 评论(0) | 转发(0) |
|